插一句 :第一题 :直接拿笔算就可以的,没啥技术含量
标题:换零钞
x星球的钞票的面额只有:100元,5元,2元,1元,共4种。
小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。
小明有点强迫症,他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍,
剩下的当然都是5元面额的。
银行的工作人员有点为难,你能帮助算出:在满足小明要求的前提下,最少要换给他多少张钞票吗?
(5元,2元,1元面额的必须都有,不能是0)注意,需要提交的是一个整数,不要填写任何多余的内容。
第二题 :观察发现这其实就是一个fib数列(看其他代码 好高大上,还要用DFS 我来个简单的)
第二题
标题:激光样式
x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。
安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开!
国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果?
显然,如果只有3台机器,一共可以成5种样式,即:
全都关上(sorry, 此时无声胜有声,这也算一种)
开一台,共3种
开两台,只1种
30台就不好算了,国王只好请你帮忙了。
要求提交一个整数,表示30台激光器能形成的样式种数。注意,只提交一个整数,不要填写任何多余的内容。
#include<bits/stdc++.h>
int main()
{
long long c,a,b;
a=2;
b=3;
for(int i=3;i<31;++i){
c=a+b;
a=b;
b=c;
}
printf("%lld\n",c);
}
第九题 我用的是DFS
标题:全球变暖
你有一张某海域NxN像素的照片,"."表示海洋、"#"表示陆地,如下所示:
.......
.##....
.##....
....##.
..####.
...###.
.......
其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。
由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。
例如上图中的海域未来会变成如下样子:
.......
.......
.......
.......
....#..
.......
.......
请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。
【输入格式】
第一行包含一个整数N。 (1 <= N <= 1000)
以下N行N列代表一张海域照片。
照片保证第1行、第1列、第N行、第N列的像素都是海洋。
【输出格式】
一个整数表示答案。
【输入样例】
7
.......
.##....
.##....
....##.
..####.
...###.
.......
【输出样例】
1资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 1000ms请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
注意:
main函数需要返回0;
只使用ANSI C/ANSI C++ 标准;
不要调用依赖于编译环境或操作系统的特殊函数。
所有依赖的函数必须明确地在源文件中 #include <xxx>
不能通过工程设置而省略常用头文件。
提交程序时,注意选择所期望的语言类型和编译器类型。
#include<bits/stdc++.h>
#define MAX 1010
char mp[MAX][MAX];
int vis[MAX][MAX];
int n,cou;
int dir[4][2]={1,0,0,1,-1,0,0,-1};//右 下 左 上
bool in(int x,int y)
{
if(x>=n || x<0 || y>=n || y<0 )
return false;
return true;
}
void dfs(int x,int y)
{
vis[x][y]=1;
for(int i=0;i<4;++i)
{
int nx = x+ dir[i][0];
int ny = y+dir[i][1];
if(in(nx,ny) && !vis[nx][ny])//我的程序不好的就是 无法直接筛选掉mp[x][y]='.'的点 不然会进不去这个if语句里面,ans一直为0
{
vis[nx][ny]=1;
if(mp[nx][ny]=='#'&&mp[nx+1][ny]=='#' && mp[nx-1][ny]=='#'&&mp[nx][ny-1]=='#'&&mp[nx][ny+1]=='#')
cou++;
dfs(nx,ny);
}
}
}
int main()
{
scanf("%d",&n);
for(int i=0;i<n;++i)
scanf("%s",mp[i]);
memset(vis,0,sizeof(vis));
cou=0;
dfs(0,0);//z注意这两条语句顺序不能错
printf("%d",cou);
return 0;
}
我觉得 其实就做题来说 直接for循环遍历一遍mp,把 符合条件if(mp[nx][ny]=='#'&&mp[nx+1][ny]=='#' && mp[nx-1][ny]=='#'&&mp[nx][ny-1]=='#'&&mp[nx][ny+1]=='#') ans++ (O(n^2))就可以了 能拿到一部分得分 (至于能不能拿满分 就不知道了)
2018年决赛 C/C++大学B组
考生须知:
考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题。
考试时间为4小时。时间截止后,提交答案无效。
在考试强制结束前,选手可以主动结束考试(需要身份验证),结束考试后将无法继续提交或浏览答案。
选手可浏览自己已经提交的答案。被浏览的答案允许拷贝。
对同一题目,选手可多次提交答案,以最后一次提交的答案为准。
选手切勿在提交的代码中书写“姓名”、“考号”,“院校名”等与身份有关的信息或其它与竞赛题目无关的内容,否则成绩无效。
选手必须通过浏览器方式提交自己的答案。选手在其它位置的作答或其它方式提交的答案无效。
试题包含三种类型:“结果填空”、“代码填空”与“程序设计”。
结果填空题:
要求选手根据题目描述直接填写结果。求解方式不限。不要求源代码。
答案直接通过网页提交即可。不要书写多余的内容。
代码填空题:
要求选手在弄清给定代码工作原理的基础上,填写缺失的代码,使得程序逻辑正确。
所填写的代码不超过一条语句(即中间不能出现分号)。
把答案(仅填空处的答案,不包括题面已存在的代码或符号)直接通过网页提交。
不要书写多余的内容(比如注释)。
使用ANSI C/ANSI C++ 标准,不要依赖操作系统或编译器提供的特殊函数。
程序设计题目:
要求选手设计的程序对于给定的输入能给出正确的输出结果。
考生的程序只有能运行出正确结果才有机会得分。
注意:在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
要求选手给出的解答完全符合ANSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。
注意: main函数必须返回0
注意: 所有依赖的函数必须明确地在源文件中 #include <xxx>, 不能通过工程设置而省略常用头文件。
所有源码必须在同一文件中。调试通过后,拷贝提交。
提交时,注意选择所期望的编译器类型。结果填空 (满分11分)
问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。
不限解决问题的方式或工具,只要求结果。
只能通过浏览器提交答案。结果填空 (满分35分)
问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。
要求参见前一题。代码填空 (满分27分)
问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。
填写的代码必须符合ANSI C/C++ 标准。
代码不能只对题面特殊数据有效,应当具有通用性。
不要填写多余内容(如:题面上已存在的代码或符号)。
只能通过浏览器提交答案。程序设计(满分45分)
问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。
在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。
仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容,例如:“请您输入xx数据:”。
建议仔细阅读示例,不要想当然!
处理完一个用例的数据后,立即退出(return 0),不要循环等待下一个用例的输入。
程序必须使用标准输入、标准输出,以便于机器评卷时重定向。
要求选手给出的解答完全符合ANSI C/C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API。
代码中允许使用STL类库,但不能使用MFC或ATL等非ANSI C++标准的类库。例如,不能使用CString类型(属于MFC类库)。
注意: main函数结尾需要return 0
注意: 所有依赖的函数必须明确地在源文件中 #include <xxx>, 不能通过工程设置而省略常用头文件。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
提交时,注意选择所期望的编译器类型。程序设计(满分77分)
问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。
要求参见前一题。程序设计(满分105分)
问题的描述在考生文件夹下对应题号的“题目.txt”中。相关的参考文件在同一目录中。
要求参见前一题。