当前位置: 首页 > wzjs >正文

南城微信网站建设谷歌排名查询

南城微信网站建设,谷歌排名查询,网站建设的英语怎么说,wordpress获取指定分类的描述第一题 One Clue 问题陈述 在数轴上有20000012000001块石头,这些石头的坐标分别为-1000000, -999999, -999998, \ldots, 999999, 1000000−1000000,−999999,−999998,…,999999,1000000。 其中,连续的KK块石头被涂成了黑色,其余的则是白…

第一题

One Clue

问题陈述

在数轴上有20000012000001块石头,这些石头的坐标分别为-1000000, -999999, -999998, \ldots, 999999, 1000000−1000000,−999999,−999998,…,999999,1000000。

其中,连续的KK块石头被涂成了黑色,其余的则是白色的。

此外,我们知道位于坐标XX的那块石头是黑色的。

请按升序打印所有可能含有黑色石头的坐标。

约束条件

  • 1 \leq K \leq 1001≤K≤100
  • 0 \leq X \leq 1000≤X≤100
  • 输入中的所有值均为整数。

输入

输入从标准输入中以如下格式给出:

K X

输出

按升序打印所有可能含有黑色石头的坐标,坐标之间用空格隔开。


示例输入 1

3 7

Copy

示例输出 1

5 6 7 8 9

Copy

我们知道有三块连续的黑色石头,并且坐标为77的石头是黑色的。有三种可能性:

  • 黑色石头分别位于坐标55、66和77。
  • 黑色石头分别位于坐标66、77和88。
  • 黑色石头分别位于坐标77、88和99。

因此,可能含有黑色石头的五个坐标为:55、66、77、88和99。


示例输入 2

4 0

Copy

示例输出 2

-3 -2 -1 0 1 2 3

Copy

负坐标也可能包含黑色石头。


示例输入 3

1 100

Copy

示例输出 3

100

这道题其实就是考虑 x-(k-1)一次缩小了1

加上x加上x+ (k+1)每次增大一到k减一

,代码如下,

#include<bits/stdc++.h>
using namespace std;
int n,a;
int main(){
//    freopen("loop.in","r",stdin);
//    freopen("loop.out","w",stdout);
cin>>n>>a;
if(n==1)
{
    cout<<a;
    return 0;
}
for(int i=n-1;i>=1;i--)
{
    cout<<a-i<<" ";
}
cout<<a<<" ";
for(int i=1;i<=n-1;i++)
{
    cout<<a+i<<" ";
}
    return 0;
}

第二题

B. Shift

问题描述

给定一个长度为NN的序列A = (A_1, A_2, \dots, A_N)A=(A1​,A2​,…,AN​)。

你将执行以下操作KK次:

  • 删除AA的初始元素并在AA的尾部添加一个00。

打印所有操作后的AA的元素。

约束

  • 1 \leq N \leq 1001≤N≤100

  • 1 \leq K \leq 1001≤K≤100

  • 1 \leq A_i \leq 1001≤Ai​≤100

  • 输入中的所有值都是整数。


输入

从标准输入以以下格式给出输入:

NN KK

A_1A1​ A_2A2​ \dots… A_NAN​

输出

在一行中打印操作后的AA的元素,用空格分隔。


样例输入1

3 2

2 7 8

样例输出1

8 0 0

在进行操作之前,A = (2, 7, 8)A=(2,7,8)。

进行一次操作后,A = (7, 8, 0)A=(7,8,0)。

进行两次操作后,A = (8, 0, 0)A=(8,0,0)。

因此,(8, 0, 0)(8,0,0)是答案。


样例输入2

3 4

9 9 9

样例输出2

0 0 0


样例输入3

9 5

1 2 3 4 5 6 7 8 9

样例输出3

6 7 8 9 0 0 0 0 0

这道题在考试中用了我很大时间,我在考试中把这道题想的太复杂了,其实只需要一个一个的去。

嗯模拟就行。但是我的思路则是用这种个值。减去从第几个值开始,从这个值开始往后输出就再输出n个零。

考试中的代码如下

#include<bits/stdc++.h>
using namespace std;
int n,a,b[110],a1,a2;
int main(){
//    freopen("loop.in","r",stdin);
//    freopen("loop.out","w",stdout);
cin>>n>>a;
for(int i=1;i<=n;i++)
{
    cin>>b[i];
}
if(a>=n)
{
    for(int i=1;i<n;i++)
    {
        cout<<"0"<<" ";
    }
    cout<<"0";
    return 0;
}
a1=n-a;
for(int i=a+1;i<=n;i++)
{
    cout<<b[i]<<" ";
}
for(int i=1;i<=a;i++)
{
    cout<<"0"<<" ";
}
    return 0;
}

第三题。

Bovine Bones

题目描述

Bessie 喜欢玩棋盘游戏和角色扮演游戏,因此她让 John 带她去了一家小店买了三个骰子。这三个骰子分别有 S1S1、S2S2 和 S3S3 面。每面的数字是 11 到骰子的面数,每个数字出现的概率相等。Bessie 想要知道在所有可能的骰子组合中,哪个三个骰子点数之和出现得最频繁。如果多个和出现的频率相同,报告最小的那个和。

数据范围
  • 2 \leq s_1 \leq 202≤s1​≤20
  • 2 \leq s_2 \leq 202≤s2​≤20
  • 2 \leq s_3 \leq 402≤s3​≤40
输入格式

第一行包含三个用空格分隔的整数:S1S1、S2S2 和 S3S3。

输出格式

输出一行,包含那个出现最频繁的最小整数和。

示例

样例输入 #1
3 2 3

Copy

样例输出 #1
5

Copy

提示

以下是所有可能的结果:

1 1 1 -> 3  
1 2 1 -> 4  
2 1 1 -> 4  
2 2 1 -> 5  
3 1 1 -> 5  
3 2 1 -> 6 
1 1 2 -> 4  
1 2 2 -> 5  
2 1 2 -> 5  
2 2 2 -> 6  
3 1 2 -> 6  
3 2 2 -> 7 
1 1 3 -> 5  
1 2 3 -> 6  
2 1 3 -> 6  
2 2 3 -> 7  
3 1 3 -> 7  
3 2 3 -> 8

这道题其实就是用三重for循环。

就能解决。

考试中的代码如下

#include<bits/stdc++.h>
using namespace std;
int n,m,s,a[110000],maxx=-999999;
int main(){
//    freopen("loop.in","r",stdin);
//    freopen("loop.out","w",stdout);
cin>>n>>m>>s;
for(int i=1;i<=n;i++)
{
    for(int j=1;j<=m;j++)
    {
        for(int k=1;k<=s;k++)
        {
//        cout<<i<<" "<<j<<" "<<k<<" "<<endl;
    a[i+j+k]++;
        }
    }
}
for(int i=1;i<=n;i++)
{
    for(int j=1;j<=m;j++)
    {
        for(int k=1;k<=s;k++)
        {
            if(a[i+j+k]>maxx)
            maxx=a[i+j+k];
        }
    }
}
for(int i=1;i<=n;i++)
{
    for(int j=1;j<=m;j++)
    {
        for(int k=1;k<=s;k++)
        {
            if(a[i+j+k]==maxx)
            {
            cout<<i+j+k;
            return 0;    
            }
        }
    }
}
    return 0;

第四题。

Glass and Mug

问题陈述

AtCoder公司销售玻璃杯和马克杯。

高桥有一个容量为GG毫升的玻璃杯和一个容量为MM毫升的马克杯,满足G<MG<M。

最初,玻璃杯和马克杯都是空的。在执行以下操作KK次之后,确定玻璃杯和马克杯中分别含有多少毫升的水。

  • 如果玻璃杯装满了水(即玻璃杯恰好含有GG毫升的水),则将玻璃杯中的水全部倒掉。
  • 否则,如果马克杯是空的,则给马克杯加满水。
  • 否则,从马克杯向玻璃杯转移水,直到马克杯为空或玻璃杯被装满为止。

约束条件

  • 1\leq K\leq 1001≤K≤100
  • 1\leq G<M\leq 10001≤G<M≤1000
  • GG、MM和KK均为整数。

输入

输入从标准输入中以如下格式给出:

KK GG MM

输出

在执行操作KK次后,按顺序打印玻璃杯和马克杯中含有的水量(以毫升为单位),中间用空格隔开。


示例输入 1

5 300 500

Copy

示例输出 1

200 500

Copy

操作将按照以下步骤进行。最初,玻璃杯和马克杯都是空的。

  • 给马克杯加满水。此时,玻璃杯有00毫升,马克杯有500500毫升的水。
  • 将水从马克杯转移到玻璃杯,直到玻璃杯被填满。此时,玻璃杯有300300毫升,马克杯有200200毫升的水。
  • 将玻璃杯中的水全部倒掉。此时,玻璃杯有00毫升,马克杯有200200毫升的水。
  • 将水从马克杯转移到玻璃杯,直到马克杯为空。此时,玻璃杯有200200毫升,马克杯有00毫升的水。
  • 给马克杯加满水。此时,玻璃杯有200200毫升,马克杯有500500毫升的水。

因此,在五次操作后,玻璃杯中有200200毫升,马克杯中有500500毫升的水。故应依次打印200200和500500,中间用空格隔开。


示例输入 2

5 100 200

Copy

示例输出 2

0 0

这道题题目其实就是让我们按照这个要求去走。但是需要特判一个条件。

如果

马克杯给玻璃杯倒水,玻璃杯满,那马克杯就不能倒了。

如果马克杯dow没了,玻璃杯还没满。那我马克杯还得再装。

代码如下

#include<bits/stdc++.h>
using namespace std;
int n,m,s,a,b,maxx=-999999;
int main(){
//    freopen("loop.in","r",stdin);a  pole
//    freopen("loop.out","w",stdout);b  mak
cin>>n>>m>>s;
for(int i=1;i<=n;i++)
{
if(a==m)
{
    a=0;
    }    
else if(b==0)
{
    b=s;
}
else
{
    if(a+b>=m)
    {
    b=b-(m-a);
        a=m;
    }
    else
    {
        a+=b;
        b=0;
    }
}
}
cout<<a<<" "<<b;
    return 0;

http://www.dtcms.com/wzjs/487488.html

相关文章:

  • 西安seo整站优化百度指数官网数据
  • 做网站合肥哪家公司好好搜seo软件
  • wordpress的翻译文件北京百度搜索排名优化
  • 河南做网站多少钱网络营销策划书5000字
  • 济宁网站建设哪家好网页设计实训报告
  • 临海建设局网站百度指数查询官网入口登录
  • wordpress 安卓 生成什么建站程序最利于seo
  • 一个网站建设都需要什么网站设计与制作公司
  • 计算机考试模拟网站怎么做平台seo
  • 自己建立一个网站网站关键词优化怎么弄
  • 微信公众平台开发源码手机系统优化软件哪个好
  • 网站建设上海网络营销软件大全
  • 南山做网站哪家专业海南网站推广
  • 浙江建设职业技术学校网站登录网站宣传方式有哪些
  • 官方商城网站建设百度关键词搜索排名多少钱
  • 看电视剧的免费网站大全百度网盘资源免费搜索引擎入口
  • 做单屏网站 高度是多少网络服务商
  • 网页图片不显示是什么原因网站seo搜索引擎优化怎么做
  • 做网站放广告赚钱沈阳seo关键字优化
  • g4560做网站服务器百度推广代理公司广州
  • 网站设计方案范文网站关键词排名
  • 青海中小企业网站建设故事式软文范例500字
  • 桂林有名网站制作公司seo是免费的吗
  • 中国有没有做的好的网站网络销售
  • 淘宝联盟里的网站推广怎么做百度平台商家app下载
  • 网站开发外键一个免费的网站
  • 网站建设计划书范文旺道seo推广有用吗
  • 可以中英切换的网站怎么做最近实时热点新闻事件
  • wordpress主题代码放在哪里seo怎么优化效果更好
  • 郑州大型网站建设win10一键优化工具