问题 A: 卷卷签到成功
题目描述
卷卷的目标是AK这场比赛,卷卷首先要完成最简单的题(签到题):请输出“>>签到成功<<”(不含引号)。
输入
输出
#include<stdio.h>
int main(){
printf(">>签到成功<<");
return 0;
}
问题 B: 卷卷的空间限制
题目描述
卷卷今天又在卷了,但是今天有一件事让卷卷很头疼,他发现OJ上每一道题都是有空间限制的,但是卷卷一直对这些空间没有概念。卷卷写代码很喜欢用int,于是卷卷请你告诉他在 n MB的空间可以存放多少int类型的整数?(一个int整数占据4个字节的内存, 1MB等于1024KB, 1KB等于1024B, 1B就代表1字节)
输入
输出
样例输入
128
样例输出
33554432
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
printf("%d",n*1024*1024/4);
return 0;
}
问题 C: 卷卷的石子
题目描述
卷卷和聚聚在玩石子游戏,规则是:有n个石子,每人每次必须取走一个石子,取走最后一个石子的人获胜。现在卷卷先手,请你告诉卷卷能否获胜?
输入
一行一个正整数n,表示有n个石子。(1<=n<=1000)
输出
如果卷卷获胜,请输出“%%%聚聚”(不含引号)。
如果聚聚获胜,请输出“聚聚NB”(不含引号)。
样例输入
2
样例输出
聚聚NB
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
if(n%2==1){
printf("%%%%%%聚聚");
}else{
printf("聚聚NB");
}
return 0;
}
问题 D: 卷卷今天休息(?)
题目描述
聚聚WA了一上午感觉自己就是个废物,在某讨论群发现卷卷刷了一上午OJ全是AC(马上就超过自己了qwq)于是私聊卷卷别卷了,并开始阴阳怪气,最终卷卷实在顶不住了,决定去休息一下,并告知聚聚自己将会在A时B分C秒开始学习。聚聚打算趁机水几道防止被追上,已知现在时间是X时Y分Z秒且聚聚m秒就能通过一道题,请问聚聚现在就开始做题,一直到卷卷开始学习能刷几道题?(如果剩余时间少于m秒按照聚聚无法通过处理)保证”现在”的时间早于卷卷将要开始学习的时间。
输入
第一行:时:分:秒(表示题目中“现在”的时间X时Y分Z秒)
第二行:时:分:秒(表示卷卷开始学习的时间A时B分C秒)
第三行:聚聚通过一道题需要的秒数m
输出
样例输入
00:00:00
00:00:15
2
样例输出
7
#include<stdio.h>
int main(){
int h1,h2,m1,m2,s1,s2,n;
scanf("%d:%d:%d",&h1,&m1,&s1);
scanf("%d:%d:%d",&h2,&m2,&s2);
scanf("%d",&n);
printf("%d",((h2-h1)*3600+(m2-m1)*60+s2-s1)/n);
return 0;
}
问题 E: 聚聚的小游戏
题目描述
聚聚写课程设计突发奇想做了一个益智(简单)小游戏。游戏中间有一部分是使用键盘W、A、S、D(分别代表上、左、下、右)来控制角色移动,现在游戏角色在原点,聚聚给你n个大写字母‘W’’A’’S’’D’,如果角色经过这n个操作后依然在原点请输出”YES”,否则输出”NO”(不带引号)。
输入
第一行,一个正整数n,且n<=100
第二行,n个字符,每个字符是大写字母‘W’或’A’或’S’或’D’
输出
一行,如果角色还在原点输出”YES”(不带引号),否则输出”NO”(不带引号)
样例输入
8
WASDWASD
样例输出
YES
#include<stdio.h>
int main(){
int x=0,y=0,n;
char C;
scanf("%d",&n);
for(int i=0;i<n+1;i++){
scanf("%c",&C);
switch(C){
case 'W':
y++;
break;
case 'S':
y--;
break;
case 'A':
x--;
break;
case 'D':
x++;
break;
}
}
if(x==0&&y==0){
printf("YES");
}else{
printf("NO");
}
return 0;
}
问题 F: 聚聚的幸运数字
题目描述
聚聚看起来AC了很多题而且正确率很高,但是聚聚喜欢把这些归结于“运气”。聚聚有自己的幸运数字:5141919。卷卷也想变得幸运但又不想和聚聚数字一样,卷卷想知道对于一个数字x能否由聚聚的幸运数字删掉其中任意个1得到。
输入
一行,一个整数x(保证x不等于5141919)
输出
如果可以则输出“YES”,否则输出“NO”。(不含引号)
样例输入 Copy
51499
样例输出 Copy
YES
#include<stdio.h>
int main(){
int j[]={514199,514919,541919,51499,54199,54919,5499};
int x,i,flag=1;
scanf("%d",&x);
for( i=0;i<8;i++){
if(x==j[i]){
printf("YES");
flag=0;
}
}
if(flag){
printf("NO");
}
return 0;
}
问题 G: 比赛模拟
题目描述
你的好朋友参加了很多场acm赛制(本场周赛的名次就是按照acm赛制排名,oi名次是考虑进题目的测试点得分)的比赛。
acm赛制:每道题提交之后都有反馈,可以看到“正确”、“答案错误”、“运行超时”等结果,但看不到错误的测试点。每道题不限制提交次数,但没通过的话会有罚时(只计算最终通过题目的罚时),每一次非正确提交罚时20分钟。比赛过程中一般可以看到实时排名,按照通过题数从大到小排名,通过题数相同的情况下按照答题时间(所有通过题目的第一次通过时间)+罚时(所有通过题目的罚时)来排名。
由于你的好朋友很强,所以每道题都可以过。他现在想知道每场比赛的总用时 = 答题时间(所有通过题目的第一次通过时间)+罚时(所有通过题目的罚时),现在有他很多场比赛记录但是丢失了用时,现在来求助你。
输入
多组数据,文件尾结束
对于每组数据,第一行一个整数 n (1 <= n <= 20) 代表这场的题目个数
接下来 n 行,每行有两个整数,之间以空格分割,第 i 行有 t_i (0 <= t_i <= 300)和 cnt_i (0 <= cnt_i <= 100) ,分别代表第 i 道题的第一次通过的时间和 第 i 道题在第一次通过前非正确提交的次数。
输出
对于每组数据需你输出一个整数,代表这场比赛的总用时。
不同组数据之间用回车"\n"来进行分割。
样例输入 Copy
2 28 2 8 1 3 28 0 22 0 6 0 4 11 0 26 0 28 2 9 0 4 14 1 29 1 13 2 22 1
样例输出 Copy
96 56 114 178
提示
这是一个多组测试样例的题目。意思为每一个测试文件中会放入多组测试数据(未知多少组),当你读取数据读到文件结尾时代表结束。
示例:c 语言
// 这里scanf当读取到文件尾就会返回 -1 ,
// EOF为一个宏,EOF(end of file),文件结尾,EOF定义在stdio.h 文件中 #define EOF (-1)
// 当你写的程序在本地测试不是文件作为读取流,是在终端运行,可以按 windows下为ctrl+z,linux/unix下为ctrl+c或ctrl+d;
// 就是可以在终端中先复制测试样例,然后回车 按 'ctrl + z' 或者 'ctrl + d'
while(scanf("%d",&n) != EOF){
}
c ++ 语言
// 这里 cin 可以作为判断条件是发生了隐式转化,具体了解可以参考 https://en.cppreference.com/w/cpp/io/basic_istream
while(std::cin >> n){
}
#include<stdio.h>
int main(){
int n,t_i,cnt_i,sum=0;
while((scanf("%d",&n))!=EOF){
sum=0;
for(int i=0;i<n;i++){
scanf("%d %d",&t_i,&cnt_i);
sum+=t_i;
sum+=cnt_i*20;
}printf("%d\n",sum);
}
return 0;
}