编程语言bLue's Ranklist - Vol.1
2018-01-19 20:42
197 查看
bLue's Ranklist - Vol.1
Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic
Problem Description
上一场比赛结束后,bLue 及时保存了一份比赛的排行榜 (Ranklist)。然而昨天 bLue 打开保存的 Ranklist 一看,发现保存的文件发生了不可描述的错误,非要强行描述的话,就是他保存的 Ranklist 上只能看到每个人的解题数量和总时间(包括罚时),而且顺序完全错乱了。崩溃的 bLue 看着崩坏的 Ranklist 一筹莫展。不过他突然想到,马上就到循环赛了,不如正好出一个题让学弟学妹来帮他修复坏掉的 Ranklist,这样他就可以拿 AC 的代码去修复文件了,是不是相当机智啊 ^_^ 。
Ranklist 的排序规则是这样的:解题数多的靠前,如果解题数相同,则总时间少的靠前。如果两个人的解题数和总时间都相同,则他们的排名也相同。
Input
输入数据有多组(数据组数不超过 1000),到 EOF 结束。每组数据包含多行:
第 1 行是一个整数 n (0 < n < 1000),表示 Ranklist 上的人数。
接下来有 n 行,每行包含两个整数 s, p (0 <= s < 20, 0 <= p < 10000),分别表示这个人的解题数和总时间(单位为分钟)。
Output
对于每组输入,输出 n 行,为重新排序后的 Ranklist。每行输出均为此 Ranklist 上一个人的信息,包含 3 个整数 r, s, p,分别表示排名、解题数和总时间。
Example Input
5 6 300 5 185 5 185 5 140 4 120
Example Output
1 6 300 2 5 140 3 5 185 3 5 185 5 4 120
01 | #include <stdio.h> |
02 | #include <string.h> |
03 | struct gxx |
04 | { |
05 | int num, h; |
06 | } a[1000], t; |
07 | int main() |
08 | { |
09 | int n, i, count, j; |
10 | while ( scanf ( "%d" , &n)!=EOF) |
11 | { |
12 | for (i = 0; i<n; i++) |
13 | { |
14 | scanf ( "%d%d" , &a[i].num, &a[i].h); |
15 | } |
16 | for (i = 0; i<n-1; i++) |
17 | { |
18 | for (j = 0; j<n-1-i; j++) |
19 | { |
20 | if (a[j].num<a[j+1].num||(a[j].num==a[j+1].num&&a[j].h>a[j+1].h)) |
21 | { |
22 | t = a[j]; |
23 | a[j] = a[j+1]; |
24 |   a[j+1] = t; |
25 | } |
26 | } |
27 |   } |
28 | count = 0; |
29 | for (i = 0; i<n; i++) |
30 | { |
31 | if (i==0) |
32 | { |
33 | printf ( "1 %d %d\n" , a[0].num, a[0].h); |
34 | } |
35 | else |
36 | { |
37 | if (a[i].num==a[i-1].num&&a[i].h==a[i-1].h) |
38 | { |
39 | count++; |
40 | printf ( "%d %d %d\n" , i-count+1 ,a[i].num, a[i].h); |
41 | } |
42 | else |
43 | { |
44 | count = 0; |
45 | printf ( "%d %d %d\n" ,i+1, a[i].num, a[i].h); |
46 | } |
47 | } |
48 | } |
49 | } |
50 | return 0; |
51 | } |
相关文章推荐
- C++结构体bLue's Ranklist - Vol.1
- bLue's Ranklist - Vol.1
- bLue's Ranklist - Vol.1 oj
- bLue's Ranklist - Vol.1
- C语言 结构体 bLue's Ranklist - Vol.1
- bLue's Ranklist - Vol.2
- C++结构体bLue's Ranklist - Vol.2
- bLue's Ranklist - Vol.2 oj
- bLue's Ranklist - Vol.2 可以学到新方法
- bLue's Ranklist - Vol.2
- C语言 结构体 bLue's Ranklist - Vol.2
- bLue's Ranklist - Vol.3
- 如何快速掌握一门编程语言
- 最值得你学习的编程语言
- 不同的编程语言对于进程的内存段的访问规则
- [图]12大编程语言收入排行榜
- 开发一款属于自己的编程语言 听起来是不是很酷?
- 最值得你学习的编程语言
- Atitit.编程语言的主要的种类and趋势 逻辑式语言..函数式语言...命令式语言
- 梦寐以求的编程语言