| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 256 人关注过本帖
标题:由于水平有限,小弟我有几道题不会做,请大家帮忙,谢谢。
只看楼主 加入收藏
asdfaad
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-12-21
  问题点数:0  回复次数:8   
由于水平有限,小弟我有几道题不会做,请大家帮忙,谢谢。
现有5道学校出的题不会做,请求各位的帮助:
校门外的树
(时间限制:1000ms 内存限制:65536KB)
统计
描述
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。
由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。


输入
第一行有两个整数L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。
对于20%的数据,区域之间没有重合的部分;
对于其它的数据,区域之间有重合的情况。

输出
包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。

难度
较难

输入示例
500 3
150 300
100 200
470 471

输出示例
298

2:

矩阵交换行
(时间限制:1000ms 内存限制:65536KB)
统计
描述
给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。


输入
输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。第6行包含两个整数m、n,以一个空格分开。
(1 <= m,n <= 5)

输出
输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。

难度
简单

输入示例
1 2 2 1 2
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
3 0 8 2 4
1 5

输出示例
3 0 8 2 4
5 6 7 8 3
9 3 0 5 3
7 2 1 4 6
1 2 2 1 2

3:

石头剪刀布
(时间限制:1000ms 内存限制:65536KB)
统计
描述
石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。
一天,小A和小B正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的,比如:“石头-布-石头-剪刀-石头-布-石头-剪刀……”,就是以“石头-布-石头-剪刀”为周期不断循环的。请问,小A和小B比了N轮之后,谁赢的轮数多?
【提示】对于测试数据,猜拳过程为:
A:0 2 5 0 2 5 0 2 5 0
B:0 5 0 2 0 5 0 2 0 5
A赢了4轮,B赢了2轮,双方打平4轮,所以A赢的轮数多。


输入
输入包含三行。
第一行包含三个整数:N,NA,NB,分别表示比了N轮,小A出拳的周期长度,小B出拳的周期长度。0 < N,NA,NB < 100。
第二行包含NA个整数,表示小A出拳的规律。
第三行包含NB个整数,表示小B出拳的规律。
其中,0表示“石头”,2表示“剪刀”,5表示“布”。相邻两个整数之间用单个空格隔开。

输出
输出一行,如果小A赢的轮数多,输出A;如果小B赢的轮数多,输出B;如果两人打平,输出draw。

难度
较难

输入示例
10 3 4
0 2 5
0 5 0 2

输出示例
A

4:

图像旋转
(时间限制:1000ms 内存限制:65536KB)
统计
描述
输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。


输入
第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。
接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。

输出
m行,每行n个整数,为顺时针旋转90度后的图像。相邻两个整数之间用单个空格隔开。

难度
简单

输入示例
3 3
1 2 3
4 5 6
7 8 9

输出示例
7 4 1
8 5 2
9 6 3

5:

扫雷游戏地雷数计算
(时间限制:1000ms 内存限制:65536KB)
统计
描述
扫雷游戏是一款十分经典的单机小游戏。它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷。现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数。
注:每个格子周围格有八个:上、下、左、右、左上、右上、左下、右下。


输入
第一行包含两个整数n和m,分别表示雷区的行数和列数。1 <= n <= 100, 1 <= m <= 100。接下来n行,每行m个字符,‘*’表示相应格子中是地雷,‘?’表示相应格子中无地雷。字符之间无任何分隔符。

输出
n行,每行m个字符,描述整个雷区。若相应格中是地雷,则用‘*’表示,否则用相应的周围格地雷数表示。字符之间无任何分隔符。

难度


输入示例
3 3
*??
???
?*?

输出示例
*10
221
1*1
2018-12-29 21:02
幽竹烟雨
Rank: 2
等 级:论坛游民
威 望:1
帖 子:13
专家分:40
注 册:2018-11-9
  得分:0 
校门外的数,代码:
#include<cstdio>
using namespace std;
int main()
{
    int a[10001]; int l,m,x,y,s=0;
    scanf("%d%d",&l,&m);
    for (int i=0;i<=l;++i) a[i]=1;
    for (int i=1;i<=m;++i)
    {
    scanf("%d%d",&x,&y);
    for (int j=x;j<=y;++j) a[j]=0;
    }
    for (int i=0;i<=l;++i)
    if (a[i]==1) ++s;
    printf("%d",s);
    return 0;
}

矩阵交换行,代码:
#include<iostream>
using namespace std;
int a[6][6];
int main()
{
    int n,i,x,y;
    for(i=1;i<=5;i++)
    {
    for(n=1;n<=5;n++)
    {
    cin>>a[i][n];
    }
    }
    cin>>x>>y;
    for(n=1;n<=5;n++)
    {
    swap(a[x][n],a[y][n]);
    }
    for(i=1;i<=5;i++)
    {
    for(n=1;n<=5;n++)
    {
    cout<<a[i][n];
    if(n!=5) cout<<" ";
    }
    if(i!=5) cout<<endl;
    }
    return 0;
}

图像旋转,代码:
#include<iostream>
int a[1000][1000];
using namespace std;
int main()
{
    int n,i,x,y;
    cin>>x>>y;
    for(i=1;i<=x;i++)
    {
        for(n=1;n<=y;n++)
        {
            cin>>a[i][n];
        }
    }
    for(i=1;i<=y;i++)
    {
        for(n=x;n>0;n--)
        {
            cout<<a[n][i];
            if(n!=1) cout<<" ";
        }
        if(i!=y) cout<<endl;
    }
    return 0;
}

有的还没做出来,这些先给你
2018-12-30 11:26
asdfaad
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-12-21
  得分:0 
回复 2楼 幽竹烟雨
谢谢谢谢!
2018-12-30 19:44
幽竹烟雨
Rank: 2
等 级:论坛游民
威 望:1
帖 子:13
专家分:40
注 册:2018-11-9
  得分:0 
嗯,都是萌新嘛~~
我也才学到深搜
2018-12-31 12:05
asdfaad
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-12-21
  得分:0 
回复 4楼 幽竹烟雨
那剩下的题什么时候可以教我
请您尽快吧
2019-01-01 12:35
frank6633
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2018-11-13
  得分:0 
以下是引用幽竹烟雨在2018-12-31 12:05:24的发言:

嗯,都是萌新嘛~~
我也才学到深搜

 
我也有同感,每次都有好多不会做的题目。不过每次论坛大佬都会耐心的帮我解答啦。
2019-01-01 19:13
幽竹烟雨
Rank: 2
等 级:论坛游民
威 望:1
帖 子:13
专家分:40
注 册:2018-11-9
  得分:0 
石头剪刀布:
#include<iostream>
using namespace std;
int main()
{
    ios::sync_with_stdio(false);//个人习惯,可注释掉。
    long long N,NA,NB,A[100],B[100],i,a=0,b=0;
    cin>>N>>NA>>NB;
    for(i=0;i<NA;i++)
    {
        cin>>A[i];
    }
    for(i=0;i<NB;i++)
    {
        cin>>B[i];
    }
    for(i=0;i<N;i++)
    {
        if((A[i%NA]==0&&B[i%NB]==2)||(A[i%NA]==2&&B[i%NB]==5)||(A[i%NA]==5&&B[i%NB]==0))
        a++;
        if ((B[i%NB]==0&&A[i%NA]==2)||(B[i%NB]==2&&A[i%NA]==5)||(B[i%NB]==5&&A[i%NA]==0))
        b++;
    }
    if(a>b) cout<<"A";
    else
    if(a<b) cout<<"B";
    else cout<<"draw";
    return 0;
}

如果错了,跟我说下,我再改进一下代码哈
毕竟不能保证一定对
2019-01-05 12:37
zzz
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2019-1-12
  得分:0 
为什么我运行不出来
附件: 您没有浏览附件的权限,请 登录注册
5 天前 19:22
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:757
专家分:734
注 册:2017-1-4
  得分:0 
附件: 您没有浏览附件的权限,请 登录注册
5 天前 19:43







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039574 second(s), 9 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved