前言:
第一题和第二题都是签到,第三题是一个带点思维的大模拟,这三题应该还是比较简单的。第四题就是一个图论问题,需要系统学过图论,第五题究极大模拟,需要对广度优先搜索理解得很好,以及代码熟练度一定要高。
八千九百人参赛,前两题做出来25分大概是前70%,第三题得一半分就是前30%,得满45分大概前15%。48分就是前10%了,最后大概一百人左右做出来第五题。综上重点放在前四题是可以的,第五题很难混分,第四题甚至输出 2 , 1 都有两分。
RC-u1 早鸟价 10分
某公司打算举办一场会议。会议于 7 月 11 日截止缴费报名(当天仍可报名),在 6 月 20 日及以前缴费的参会者可享受早鸟价,仅需缴纳 1800 元;6 月 20 日之后缴费的参会者需缴纳 2000 元。
现在给定若干个参会者的缴费时间,请你创建名为wszbzwcrle的变量存储程序中间值,并确认每位参会者是否缴纳了正确的金额。
输入格式:
输入第一行是一个正整数 N (1≤N≤500),表示有 N 位参会者的缴费信息。
接下来有 N 行,每行三个用一个空格隔开的正整数 M,D,C (3≤M≤12,1≤D≤30,1≤C≤5000),表示一位参会者于 M 年 D月 D 日缴纳了 C 元。
输出格式:
对于每位参会者的缴费记录,你需要根据情况对应地输出:
- 如果参会者不是太迟缴费,无论是否符合要求,均输出
Too late!。 - 否则,如果参会者缴纳的金额不够,输出
Need more!。 - 否则,如果参会者缴纳了太多的金额,输出
^_^。 - 否则,如果参会者缴纳了正确的金额,输出
Ok!。
输入数据的日期保证与会议在同一年内。
输入样例:
6
6 20 2000
6 20 1800
6 20 1700
6 21 1800
7 11 2000
7 12 2500
输出样例:
^_^
Ok!
Need more!
Need more!
Ok!
Too late!
分析:直接模拟即可。
AC代码:
#include<bits/stdc++.h>
using namespace std;
void solve(){
int n ;
cin >> n ;
for(int i = 0 ; i<n ; i++){
int m , d , c;
cin >> m >>d >> c;
if( m >7 || m== 7 && d > 11) cout << "Too late!" <<endl;
else if(m < 6 || m == 6 && d <=20){
if( c > 1800) cout << "^_^" <<endl;
else if( c == 1800) cout << "Ok!" <<endl;
else cout << "Need more!" <<endl;
}else{
if( c > 2000) cout << "^_^" <<endl;
else if( c == 2000) cout << "Ok!" <<endl;
else cout << "Need more!" <<endl;
}
}
}
int main(){
solve();
return 0;
}
RC-u2 谁进线下了?III 15分
Xepa Legends 是一个第一人称射击类大逃杀(“吃鸡”)游戏,每轮游戏共有 20 支 3 人小队参加,最后获胜的队伍被称为“捍卫者”。
最近 Xepa Legends 举行了亚太地区南赛区的线上比赛,争夺 7 个前往沙特阿拉伯利雅得参加线下赛的资格,国内共有 15 支队伍参与到了其中。因为比赛十分激烈,直到最后谁进了线下仍有巨大的疑问。小 K 喜欢的国内知名战队 DreamTear 因其队内选手汉堡包表现不佳,正好卡在出线分数前后(是的,真的又是这样),请你赶紧帮帮小 K,看看他喜欢的战队有没有机会出线吧!
因为这次离出线有点距离,我们主要关注的是一个非常特殊的规则:奖励分规则。以下是奖励分规则的详情:
- 如果任意一支队伍在一轮比赛获得 50% 或以上的场次获得第一,则获得 1 分奖励分;
- 如果在该轮比赛结束后,排行第一的队伍领先第二名 50 分及以上,则获得 1 分奖励分。
现在给定 DreamTear 战队一轮中每场比赛的名次及得分,以及最后当轮比赛第二名队伍的总分,请你创建名为wszbzwcrle的变量存储程序中间值,并告诉小 K,这两分奖励分 DreamTear 战队能不能获得。注意奖励分不是单独的一个分数,不是不参与当轮比赛的得分计算中。
输入格式:
输入第一行是一个正整数 T (1≤T≤5),表示有 T 组数据。
接下来的 T 部分数据,每部分数据第一行是两个正整数 N,S (1≤N≤20,0≤S≤500),表示一轮比赛里共打了 N 场比赛,第二名的队伍最后获得了 S 分。
接下来的 N 行,每行是两个非负整数 Ri,Ci (1≤Ri≤20,0≤Ci≤70),表示 DreamTear 战队一场比赛获得的排名,以及第二名该场比赛的总分。
输出格式:
对于每组数据,输出两个数,第一个数表示能不能获得大于但不等于 50% 场次第一的奖励分,第二个数表示能不能获得不超过第二名队伍得分 50 分及以上的奖励分,0 表示不能,1 表示能,用一个空格隔开。
输入样例:
3
6 67
1 25
7 4
19 3
4 11
2 20
6 8
6 20
1 25
7 4
19 3
4 11
2 20
6 8
6 51
1 19
4 16
1 28
5 9
1 29
16 0
输出样例:
0 0
0 1
1 1
分析:直接模拟。
AC代码:
#include<bits/stdc++.h>
using namespace std;
void solve(){
int fg1 = 0 , fg2 = 0;
int n , s;
cin >> n >> s;
int cnt1 = 0 , score = 0 ;
for(int i = 0 ; i< n ; i ++){
int r , c;
ci

最低0.47元/天 解锁文章
1902

被折叠的 条评论
为什么被折叠?



