CODE[VS] 2951 打字比赛

题目描述 Description

乐乐学习编程有两年之久,练就了过硬的指法,打字速度超快,他被选拔代表班级参加校园文化周活动之汉字录入比赛。

比赛规则:组织方提供一篇文章,利用金山打字软件测试选手的成绩,选手录入完之后,系统马上会显示录入速度和正确率。

最终成绩为:速度×正确率,个人奖按成绩的高低进行排名。

我校共有n名同学参加了打字比赛,编号1到n,组织方请乐乐计算各选手的成绩,并按成绩高低进行排列,

以便组织方按成绩来评定个人奖项。乐乐发挥他的特长利用编程一下子就解决了组织方的问题。聪明的你会吗?

输入描述 Input Description

第一行是一个正整数n(n<=3000)。

    接下来有n行,每行有两个用空格隔开的正整数。第i行表示编号为i同学的打字速度(字/分)和正确率(%)。

输出描述 Output Description

    按成绩高低输出n行,每行有两个用空格隔开的数,分别为编号和成绩。

(成绩相等的,编号小的排在前面,输出的成绩保留两位小数)

样例输入 Sample Input

5

71 100

79 99

35 98

104 100

55 96

样例输出 Sample Output

4 104.00

2 78.21

1 71.00

5 52.80

3 34.30

数据范围及提示 Data Size & Hint

n<=3000

 

2333回家前的最后一个早自习,,

I feel very sleepy。。。

so,想找点儿水题,,

看这个挺简单的,

写个结构体排一遍序就好了。

 

于是非常自信的写出了如下代码,我感觉稳ac:

 

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 #include<algorithm>
 5 #include<cstring>
 6 #include<queue>
 7 using namespace std;
 8 
 9 int n;
10 
11 struct node{
12     int rate,per,no;
13     double score;
14 }a[3002];
15 
16 bool cmp(node x,node y)
17 {
18     if(x.score !=y.score ) 
19         return x.score >y.score ;
20     else return x.no <y.no ;
21 }
22 
23 int main()
24 {
25     scanf("%d",&n);
26     for(int i=1;i<=n;++i)
27     {
28         scanf("%d%d",&a[i].rate ,&a[i].per );
29         a[i].score =0.01*a[i].per *a[i].rate ;
30         a[i].no =i;
31     }    
32     sort(a+1,a+n+1,cmp);
33     for(int i=1;i<=n;++i)    
34         printf("%d %.2lf\n",a[i].no ,a[i].score );
35     return 0;    
36 }

 

瓦特???!!!

才40分!!!

丫的。。。

哪儿错了,,,

 

我寻寻觅觅,,,

寻寻觅觅,,,

没找着,,,看了看题解。。

wtf!!!

 

居然把0.01*

改成1.0*再/100就ac了!!!

太鬼畜了吧!!!

没关系,

今儿回家,开心着呢~~~

 

ac代码:

 
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 #include<algorithm>
 5 #include<cstring>
 6 #include<queue>
 7 using namespace std;
 8 
 9 int n;
10 
11 struct node{
12     int rate,per,no;
13     double score;
14 }a[3002];
15 
16 bool cmp(node x,node y)
17 {
18     if(x.score !=y.score ) 
19         return x.score >y.score ;
20     else return x.no <y.no ;
21 }
22 
23 int main()
24 {
25     scanf("%d",&n);
26     for(int i=1;i<=n;++i)
27     {
28         scanf("%d%d",&a[i].rate ,&a[i].per );
29         a[i].score =1.0*a[i].per *a[i].rate /100;
30         a[i].no =i;
31     }    
32     sort(a+1,a+n+1,cmp);
33     for(int i=1;i<=n;++i)    
34         printf("%d %.2lf\n",a[i].no ,a[i].score );
35     return 0;    
36 }


如果你不开心,那我就把右边这个帅傻子分享给你吧,


你看,他这么好看,那么深情的望着你,你还伤心吗?


真的!这照片盯上他五秒钟就想笑了。


一切都会过去的。


 

 

posted @ 2018-08-04 06:40  孟东行#  阅读(225)  评论(0编辑  收藏  举报