您好,欢迎来到99网。
搜索
您的当前位置:首页大一下第一场

大一下第一场

来源:99网

大一下第一场比赛:
太菜了
总结
小错误太多,应该提高严密性
** long long ~scanf("%lld")**
有> < = ~~~不要忘记了等于的情况
*成绩那题~~~~我默认把它看成了小数,其实还有整数的情况*
一题有一些小细节没注意导致花了很多时间,诶……
长寿的xjl
Description
xjlxjl出生于1999年2月3号,她想知道自己已经活了多少天,所以请你帮帮忙,题目会给出当前的日期,请你求出从她出生日开始到某一天时,xjlxjl已经活了多少天了(算上出生那天)
Input
输入当前日期(年/月/日),年份保证大于出生日期并且小于1000010000
Output
xjlxjl活的天数
Sample Input 1
1999/2/10
Sample Output 1
8

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;


int r[]={0,31,29,31,30,31,30,31,31,30,31,30,31};  
int q[]={0,31,28,31,30,31,30,31,31,30,31,30,31};


int main(){
	ll y,m,d;
	char x1;
	char x2;
	scanf("%lld%c%lld%c%lld",&y,&x1,&m,&x2,&d);    //忘了加  lld ,最后结果可能是个负数 
	
	
	ll sum=0;
	
	
	if(y<2000){
		if(m>2){
			for(ll i=3;i<m;i++){
				sum+=q[i];
			}
			cout<<sum+26+d;
		}
		else{
			cout<<d-3+1;
		}
	}else{
		for(ll i=2000;i<y;i++){     //不小心写成了y++
			if(i%400==0||(i%4==0&&i%100!=0)){
				sum+=366;
			}
			else sum+=365;
		}
		sum+=332;
		if(y%400==0||(y%4==0&&y%100!=0)){
			for(ll i=1;i<m;i++){
				sum+=r[i];
			}
			sum+=d;
		}
		else{
			for(ll i=1;i<m;i++){
				sum+=q[i];
			}
			sum+=d;
		}
		cout<<sum;
	}
	return 0;
}

翻译
Description
xjlxjl有一个好朋友xxnxxn,但她们的语言大小写正好相反,作为翻译让她们可以正常的交流,如果你能帮助她们,她们会很感谢你的
Input
输入一个字符串,只包含大小写字符(长度不超过100100)
Output
输出翻译后的结果
Sample Input 1
abcde
Sample Output 1
ABCDE
Sample Input 2
abcDN
Sample Output 2
ABCdn9

#include<bits/stdc++.h>
using namespace std;


int main(){
	string s;
	cin>>s;
	
	
	int lenth=s.length();
	int a=0;
	int b=0;
	int i=0;
	int j=0;
	
	
	while(j<lenth){
		if(i!=2){
			if(s[j]=='A') a++;
			else b++;
			i++;
		}
		else{
			i=0;
		}	
		j++;
	}
	
	
	cout<<a<<"A"<<b<<"B";
	
	return 0;
} 

分糖
Description
xjlxjl有一盒糖果,其中有糖果AA和糖果BB两种糖果,她想要和她的小伙伴xxnxxn一起分享,两人按顺序依次取,xjlxjl 22颗xxnxxn 11颗,小精灵想知道她可以得到AA糖果多少颗,BB糖果多少颗(xjlxjl先)
Input
输入一个字符串s(len(s) \leq 100)s(len(s)≤100),并且里面只有AA和BB
Output
输出xjlxjl能拿到AABB糖果的个数
Sample Input 1
ABAABB
Sample Output 1
2A2B

#include<bits/stdc++.h>
using namespace std;
int main(){
	int t;
	cin>>t;
	getchar();
	int a,b,c,d;
	char x,y,z;
	while(t--){
		scanf("%d%c%d%c%d%c%d",&a,&x,&b,&y,&c,&z,&d);
		getchar();
		if(a*d==b*c) cout<<"GOOD!"<<"\n";
		else cout<<"HAHAHA"<<"\n";
	}
	return 0;	
} 

数学好难
Description
开学了,xjlxjl遇到了困难,她觉得数学实在是太难了,她听说你是数学大佬OrzOrz,所以想让你帮她检查一下她的homework,你可以帮助她吗?
如果小精灵的等式是正确的,输出GOOD!GOOD! 反之输出HAHAHAHAHAHA
Input
第一行输入一个T(T \leq 10)T(T≤10),表示有T个等式
接下来T行输入一个等式(格式:a/b=c/d(0 < a,b,c,d \leq 10^{12})a/b=c/d(0<a,b,c,d≤10
12
))
Output
判断每个等式正确与否,按条件输出
Sample Input 1
2
1/2=4/8
1/5=7/40
Sample Output 1
GOOD!
HAHAH

#include<bits/stdc++.h>
using namespace std;


int main(){
	int t;
	cin>>t;
	getchar();
	int a,b,c,d;
	char x,y,z;

	while(t--){
		scanf("%d%c%d%c%d%c%d",&a,&x,&b,&y,&c,&z,&d);
		getchar();
		if(a*d==b*c) cout<<"GOOD!"<<"\n";
		else cout<<"HAHAHA"<<"\n";
	}
	return 0;	
} 

成绩单
Description
xjlxjl收到了自己的成绩单,一共nn门课,每门课的成绩为a_1,a_2,…,a_na 1,a 2 ,…,a n,请你求出xjlxjl本学期成绩的中位数以及对应的课程。
Input
第一行输入一个n(n \leq 100)n(n≤100)
接下来nn行每行包含一个科目名以及对应的科目,中间用空格分隔。
Output
输出成绩的中位数以及对应的课程名。
如果nn为偶数则同时输出两门课的名字(名称按字典序排列)中间用空格分隔。
Sample Input 1
3
yuwen 85
shuxue
yingyu 66
Sample Output 1
yuwen 85
Sample Input 2
4
yuwen 85
shuxue
yingyu 66
tiyu 86
Sample Output 2
tiyu yuwen 85.5
这道题真心让我……
最后的中位数,我忘了区分是否为整数情况诶……

#include<bits/stdc++.h>
using namespace std;


struct node{
	string s;
	int number;
}a[150];


bool cmp(node &x,node &y){
	return x.number<y.number;
}


int main(){
	int n;
	cin>>n;
	for(int i=0;i<n;i++){
		cin>>a[i].s>>a[i].number;
	}
	
	
	sort(a,a+n,cmp);

	if(n%2==1){
		cout<<a[n/2].s<<" "<<a[n/2].number; 
	}
	else{
		if((a[n/2-1].number+a[n/2].number)%2==0){ //未考虑到中位数为整数情况 
			int q=(a[n/2-1].number+a[n/2].number)/2;
			if(a[n/2-1].s<a[n/2].s){
			cout<<a[n/2-1].s<<" "<<a[n/2].s<<" ";
			printf("%d",q);
			}
			else{
				cout<<a[n/2].s<<" "<<a[n/2-1].s<<" ";
				printf("%d",q);
			}
		}
		else{
			double q=(a[n/2-1].number+a[n/2].number)/2.0;
			if(a[n/2-1].s<a[n/2].s){
				cout<<a[n/2-1].s<<" "<<a[n/2].s<<" ";
				printf("%.1lf",q);
			}
			else{
				cout<<a[n/2].s<<" "<<a[n/2-1].s<<" ";
				printf("%.1lf",q);
			}
			
		}
//		double q=(a[n/2-1].number+a[n/2].number)/2.0;
		
	}
	return 0;
}


Description
xjlxjl和小伙伴们在玩游戏,xjlxjl需要闭着眼睛从11数到1010才能睁开眼睛去找人。由于xjlxjl经常耍赖,你需要监督她。如果xjlxjl从11数到了1010,你就大喊 youyou xixi kaikai shishi, 否则喊 xjlxjl shuashua lai!lai!.
提示:必须是从11到1010.
Input
输入一串数字,表示xjlxjl喊的数字(以-1−1结尾)
Output
youyou xixi kaikai shishi或者xjlxjl shuashua lai!lai!
Sample Input 1
1 2 3 4 5 6 7 8 9 10 -1
Sample Output 1
you xi kai shi
Sample Input 2
1 2 3 10 -1
Sample Output 2
xjl shua lai!

#include<bits/stdc++.h>
using namespace std;


int main(){
	int s[20];
	int n=0;
	while(1){
		int a;
		cin>>a;
		if(a==-1) break;
		s[n]=a;
		n++;
	}

	if(n!=10) {
		cout<<"xjl shua lai!";
		return 0;
	}
	for(int i=0;i<n;i++){
		if(s[i]!=(i+1)){
			cout<<"xjl shua lai!";
			return 0;
		}
	}
	cout<<"you xi kai shi";
	return 0;
}

大富翁
Description
xjlxjl在玩一个大富翁的游戏,可以把游戏的棋盘看成nmnm的格子,移动路径为:从(1,1)(1,1)位置到(n,1)(n,1),然后以蛇形的方式,移动到(n,m)(n,m)位置再上一格,然后再左移到(n-1, 2)(n−1,2)位置,一次反复,最后走到(1,2)(1,2)位置走完一圈(保证能走到(1,2)(1,2)位置)。
如图是4343的图的走法:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;


int main(){
	ll n,m,k;
	cin>>n>>m>>k;
	
	
	k=k+1;
	if(k<=n){            //一开始没有写==的情况,应该注意思维的严密性
		cout<<k<<" "<<"1";
		return 0;
	}
	else{
		k-=n;
		ll a=k/(m-1);
		ll b=k%(m-1);
		if(b==0){
			if(a%2==1){
				cout<<n-a+1<<" "<<m;
			}
			else
				cout<<n-a+1<<" "<<"2";
		}
		else{
			if(a%2==1){
				cout<<n-a<<" "<<m-b+1;
			}
			else{
				cout<<n-a<<" "<<1+b;
			}
		}
	}
	return 0;
} 

佛祖保佑 永无bug
Description
xjlxjl写代码经常出bugbug,聪明的xxnxxn告诉她一个好办法,就是代码需要开光,在代码的开头要加上注释佛祖保佑:

/*
ooOoo
o8888888o
88" . "88
(| -- |)
O\ = /O
/---'\____ .' \\| |//.
/ \||| : |||//
/ ||||| -:- |||||-
| | \\ - /// | |
| _| ‘’—/’’ | |
\ .-_
- ___/-. /
___. .' /--.--\. . __
."" '< .___\_<|>_/___.' >'"". | | :- `.;\ _ /;./ - : | |
\ \ -. \_ __\ /__ _/ .- / /
======-.____-.
_
/_.-____.-'=======—=’
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Buddha bless never bug
*/

这样写代码就不会出bugbug了。聪明的xjlxjl一学就会,马上动起手来写了一段代码,并加上了佛祖保佑

提示!输出的字符串里面有 \ 和 " 两种字符的需要转义,改成 \ 和 ", 其他不变

Input

一个字符串,表示xjlxjl原本要写的代码(长度小于 10^510
5

Output

加上注释,最终的代码

Sample Input 1

ZheShiYiDuanDaiMa;
Sample Output 1

/*
ooOoo
o8888888o
88" . "88
(| -- |)
O\ = /O
/---'\____ .' \\| |//.
/ \||| : |||//
/ ||||| -:- |||||-
| | \\ - /// | |
| _| ‘’—/’’ | |
\ .-_
- ___/-. /
___. .' /--.--\. . __
."" '< .___\_<|>_/___.' >'"". | | :- `.;\ _ /;./ - : | |
\ \ -. \_ __\ /__ _/ .- / /
======-.____-.
_
/_.-____.-'=======—=’
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Buddha bless never bug
*/
ZheShiYiDuanDaiMa;

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	cin>>s;
	cout<<"/*\n                   _ooOoo_\n                  o8888888o\n                  88\" . \"88\n                  (| -_- |)\n                  O\\  =  /O\n               ____/`---'\\____\n             .'  \\\\|     |//  `.\n            /  \\\\|||  :  |||//  \\\n           /  _||||| -:- |||||-  \\\n           |   | \\\\\\  -  /// |   |\n           | \\_|  ''\\---/''  |   |\n           \\  .-\\__  `-`  ___/-. /\n         ___`. .'  /--.--\\  `. . __\n      .\"\" '<  `.___\\_<|>_/___.'  >'\"\".\n     | | :  `- \\`.;`\\ _ /`;.`/ - ` : | |\n     \\  \\ `-.   \\_ __\\ /__ _/   .-` /  /\n======`-.____`-.___\\_____/___.-`____.-'======\n                   `=---='\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n         Buddha bless        never bug\n*/\n";
	cout<<s;
	return 0;
}

xjl的字符串2
Description
xjlxjl有一个只有0101两种字符的字符串。每一次,他可以删掉字符串最右侧的一个字符,同时字符串会在最左侧生成一个新的字符,以保证字符串长度不变。如果他删掉的是一个11,他可以决定字符串在最左侧会生成什么字符串00或者11;但如果他删掉了一个00,会在左侧生成一个随机的字符,既可能是00,也可能是11,而且它的生成方式总会与xjlxjl作对,尽力的破坏他的计划。而此时xjlxjl想要把所有的字符都变成00
现在给你一个0101串,请帮助xjlxjl判断一下,能否在有限步之内让全部的字符都变成00。
Input
输入一个0101字符串(长度小于100100)
Output
如果能变成全0则输出 YesYes否则输出NoNo
Sample Input 1
1111
Sample Output 1
Yes
这道题不论怎样输入,其结果都是YES,对于那些还在找规律的宝宝们,是不是超级坑爹,哈哈哈……

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	cin>>s;
	cout<<"Yes";
	return 0;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务