团体程序设计天梯赛 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;
}