团体程序设计天梯赛 L1-041~L1-045

L1-041

思路:

输入的时候记录即可

代码:

#include<bits/stdc++.h>

using namespace std;

int main() {
	for(int i = 1; ; ++i){
		int n;
		cin >> n;
		if(n == 250) { cout << i; exit(0); }	
	}
}

L1-042

思路:

学会使用printf控制输入输出格式

代码:

#include<bits/stdc++.h>

using namespace std;

int main() {
	int m, d, y;
	scanf("%d-%d-%d", &m, &d, &y);
	printf("%04d-%02d-%02d", y, m, d); 
	return 0;
}

L1-043

思路:

每个s就记录该编号的时间,每个e先查看有没有记录,而后计算时间并记录次数;
此题需要四舍五入

代码:

#include<bits/stdc++.h>

using namespace std;

char key;
int n, no, h, m, rcd[1005], ans, sum;
#define t(h, m) (h * 60 + m)

int main() {
	cin >> n;
	memset(rcd, -1, sizeof(rcd));
	while(~scanf("%d %c %d:%d", &no, &key, &h, &m)) {
		if(!no) {
			cout << sum << ' ' << int(sum ? 1.0 * ans / sum + 0.5 : 0) << '\n';  //
			ans = sum = 0;
			memset(rcd, -1, sizeof(rcd));
			if(--n == 0) break;
			continue;
		}
		if(key == 'S') rcd[no] = t(h, m);
		else if(~rcd[no]) { ans += t(h, m) - rcd[no], rcd[no] = -1; ++sum; }
	}
	return 0;
}

L1-044

思路:

注意平局的间隔即可

代码:

#include<bits/stdc++.h>

using namespace std;

int main() {
	int k;
	cin >> k;
	++k;
	for(int i = 1; ; ++i){
		string s;
		cin >> s;
		if(s == "End") return 0;
		if(i % k == 0)	cout << s << '\n';
		else{
			if(s == "ChuiZi") cout << "Bu" << '\n';
			else if(s == "JianDao") cout << "ChuiZi" << '\n';
			else cout << "JianDao" << '\n';	
		}
	}
}

L1-045

思路:

按题意输出即可

代码:

#include<bits/stdc++.h>

using namespace std;

int main() {
	string s;
	cin >> s;
	cout << "Hello " << s;
	return 0;
}
posted @ 2020-01-16 18:22  YuhanのBlog  阅读(125)  评论(0编辑  收藏  举报