资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
小明刚经过了一次数学考试,老师由于忙碌忘记排名了,于是老师把这个光荣的任务交给了小明,小明则找到了聪明的你,希望你能帮他解决这个问题。
输入格式
第一行包含一个正整数N,表示有个人参加了考试。接下来N行,每行有一个字符串和一个正整数,分别表示人名和对应的成绩,用一个空格分隔。
输出格式
输出一共有N行,每行一个字符串,第i行的字符串表示成绩从高到低排在第i位的人的名字,若分数一样则按人名的字典序顺序从小到大。
样例输入
3
aaa 47
bbb 90
ccc 70
样例输出
bbb
ccc
aaa 【数据规模和约定】
人数<=100,分数<=100,人名仅包含小写字母。
ps:
代码只过了百分之90,最后一个字符不清楚是什么不明白为什么过不了,有老哥知道的可以说一下最后一个案例测的是什么谢谢拉
package name;
import java.math.BigInteger;
import java.util.*;
public class lanqiao {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
Take take = new Take();
for (int i = 0; i < num; i++) {
Honer s1 = new Honer(scan.next(), scan.nextInt());
take.indext(s1);
}
take.println();
}
}
class Take {
Honer head = new Honer("", 0);
public void add(Honer honer) {
Honer temp = head;
while (true) {
if (temp.next == null) {
temp.next = honer;
break;
}
temp = temp.next;
}
}
public void indext(Honer honer) {
Honer temp = head;
boolean text = false;
while (true) {
if (temp.next == null) {
break;
}
if (temp.next.number == honer.number && temp.next.name != honer.name) {
if (temp.next.name.compareTo(honer.name) > 0) {// 大于
Honer teas = temp.next;
honer.next = teas;
temp.next = honer;
text = true;
return;
} else if (temp.next.name.compareTo(honer.name) < 0) {// 小于
break;
} else if (temp.next.name.compareTo(honer.name) == 0) {
break;
}
} else {
temp = temp.next;
}
}
temp = head;
while (true) {
if (temp.next == null) {
temp.next = honer;
break;
}
if (temp.next.number < honer.number) {
honer.next = temp.next;
temp.next = honer;
break;
}
temp = temp.next;
}
}
public void println() {
Honer temp = head.next;
while (true) {
System.out.println(temp.name);
if (temp.next == null) {
break;
}
temp = temp.next;
}
}
}
class Honer {
String name;
Honer next;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
int number;
public Honer(String name, int number) {
this.name = name;
this.number = number;
}
}