2022级HAUT新生周赛(零)熟悉周赛规则专场

问题 A: 卷卷签到成功

题目描述

卷卷的目标是AK这场比赛,卷卷首先要完成最简单的题(签到题):请输出“>>签到成功<<”(不含引号)。

输入

本题无输入

输出

一行,“>>签到成功<<”(不含引号)
#include<stdio.h>
int main(){
    printf(">>签到成功<<");
    return 0;
}

问题 B: 卷卷的空间限制

题目描述

卷卷今天又在卷了,但是今天有一件事让卷卷很头疼,他发现OJ上每一道题都是有空间限制的,但是卷卷一直对这些空间没有概念。卷卷写代码很喜欢用int,于是卷卷请你告诉他在 n MB的空间可以存放多少int类型的整数?(一个int整数占据4个字节的内存, 1MB等于1024KB, 1KB等于1024B, 1B就代表1字节)

输入

一行一个非负整数n,(n小于1000)

输出

一行一个整数,表示 n MB能存放的int类型整数的个数

样例输入 

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;
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值