[CSP冲刺班]CSP-J2011模拟赛#2总结
题目
T1 蜗牛老师的成绩统计
T2小蜗牛的逃离
T3蜗牛老师研究基因
T4蜗牛老师的代码
T5蜗牛老师的跳跃
T1蜗牛老师的成绩统计
题意:n人跑步比赛,给出每人所用的 时:分:秒 从快到慢输出 时:分:秒
思路:本题解法众多,本蒟蒻只说自己的:sort大法!!
详细见代码 (P.S.太水了,dalao请自行跳过)
#include<bits/stdc++.h>
using namespace std;
struct node{
int h,m,s;}a[1000100];
int n;
bool cmp(node x,node y){
if(x.h>y.h||(x.h==y.h&&x.m>y.m)||(x.h==y.h&&x.m==y.m&&x.s>y.s))return 0;
else return 1;
}
int main(){
freopen("marathon.in","r",stdin);
freopen("marathon.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i].h>>a[i].m>>a[i].s;
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++)cout<<a[i].h<<' '<<a[i].m<<' '<<a[i].s<<endl;
}
值得一说的是,此问数据范围略微出锅,虽后来更正,但仍有人落水。所以!
反思:一定要反复、仔细看数据范围(或者如果不影响,把范围尽量调大(@_@))!!!
T2小蜗牛的逃离
题意:小蜗牛预料 n n n天后有灾难,要逃跑。这几天它可以采集 k k k个食物或让 k k k增加 1 1 1。同时,它每天要吃 a [ i ] a[i] a[i]个食物,不够则饿死。输出 n n n天后有几个食物,饿死输出 − 1 -1 −1.
思路:一大贪心难题。(考察你做题策略。如果你一道一道挨着做,在这卡壳死磕,就浪费不少时间。)贪心策略:看食物够吃不够,够吃将 k + 1 k+1 k+