22-23第1次线上赛

Posted 冒泡儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了22-23第1次线上赛相关的知识,希望对你有一定的参考价值。

优秀的成绩

跳转链接: 3767:优秀的成绩

要点

注意整除,sum/3进行下取整,因为这题>=90所以下取整没有影响,如果判断的是>90那么就会有错误
应该将判断改为sum/3.0>90转换为浮点数或者sum>90*3避免下取整
在做除法时应该十分小心,思考整型下取整有没有影响

代码

#include<iostream>
#include<cstdio>

using namespace std;

int main()

	bool flag=true;
	int sum=0;
	
	for(int i=0;i<3;i++)
	
		int x;
		scanf("%d",&x);
		if(x<85) flag=false;
		sum+=x;
	
	
	if(flag&&sum/3.0>=90) cout<<"Excellent"; //注意!!!
	else cout<<"Not Excellent";
	return 0;

英文字母

跳转链接:3766:英文字母

要点

字母与数字的转换

代码

#include<iostream>
#include<cstdio>

using namespace std;

int main()

	char c;
	cin>>c;
	
	char temp;
	if(c>=\'a\'&&c<=\'z\') temp=\'a\';
	else if(c>=\'A\'&&c<=\'Z\') temp=\'A\';
	
	int i=(int)(c-temp);
	for(int j=0;j<26;j++)
	
		cout<<(char)(temp+(i+j)%26);
	
	return 0;

年龄

跳转链接: 3769:年龄

要点

起初一直没理解题目"如果生日是2月29日,那么非闰年的年份生日按2月28日算",理解后其实意思就是如果今年不是闰年但是生日是2.29应该看作2.28,如果是今年是闰年那么生日还是2.29

代码

#include<iostream>
#include<cstdio>

using namespace std;

int main()

	int y,m,d,ys,ms,ds;
	scanf("%d%d%d%d%d%d",&y,&m,&d,&ys,&ms,&ds);
	
	if(!(ys%400==0||ys%4==0&&ys%100!=0)&&m==2&&d==29) d=28;
	
	int ans=ys-y;
	if((ms<m||ms==m&&ds<d)) ans--;
	
	printf("%d",ans);
	return 0;

以上是关于22-23第1次线上赛的主要内容,如果未能解决你的问题,请参考以下文章

20-21第5次线上赛题解

第十六届全国大学生智能汽车竞赛总决赛 AI视觉组线上赛图片显示软件发布及线上赛注意事项

第十七届智能汽车竞赛总决赛线上赛流程

ciscn2021 ctf线上赛baby.bc wp(#超详细,带逆向新手走过一个又一个小坑)

2017CUIT校赛-线上赛

RCTF 2018线上赛 writeup