整理音乐

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

请用链表完成下面题目要求。

xiaobai 很喜欢音乐,几年来一直在收集好听的专辑。他有个习惯,每次在听完一首音乐后会给这首音乐打分,而且会隔一段时间给打好分的音乐排一个名次。今天 xiaobai 打开自己的音乐文件夹,发现有很多不同时期打过分的排好序的子音乐文件夹,他想把这些音乐放到一块,组成一个分数有序的序列。由于音乐文件很多,而文件里音乐的数目也是不确定的,怎么帮帮 xiaobai 完成这件工作呢?

Input

输入数据第一行为一个整数n(n<1000),代表文件夹的数量。接下来是n个文件夹的信息,每个文件夹信息的第一行是一个数字m(m<=10000),代表这个文件夹里有m首歌,后面m行每行一个歌曲名、分数,之间用空格分开。歌曲名称不超过5个字符。

Output

输出一行,为所有音乐组成的一个序列,音乐只输出名字。

如果音乐分数相同则按照音乐名字典序进行排序。

Sample Input

3

4

aaa 60

aab 50

aac 40

aad 30

2

kkk 60

kkd 59

3

qow 70

qwe 60

qqw 20

Sample Output

qow aaa kkk qwe kkd aab aac aad qqw

链表题,Java直接用list就可以了,跟c++的STL有异曲同工之处。

import java.util.*;

public class Main {

	public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
List<node> q = new ArrayList<node>();
int n,m,i;
node t1;
n = cin.nextInt();
while(n-->0)
{
m = cin.nextInt();
for(i=0;i<m;i++)
{
t1 = new node(cin.next(),cin.nextInt());
insert(q,t1); }
}
for(i=0;i<q.size();i++)
{
if(i==q.size()-1)
System.out.println(q.get(i).s);
else
System.out.print(q.get(i).s+" ");
}
cin.close();
}
static void insert(List<node> q,node a)
{
int i;
for(i=0;i<q.size();i++)
{
if(a.num>q.get(i).num)
{
q.add(i, a);
break;
}
else if(a.num==q.get(i).num)
{
if(a.s.compareTo(q.get(i).s)<=0)
{
q.add(i,a);
break;
}
}
}
if(i==q.size())
q.add(a);
}
} class node
{
String s;
int num;
node(String s,int a)
{
this.s = s;
this.num = a;
}
}

Java练习 SDUT-2053_整理音乐的更多相关文章

  1. Java 动态写轮眼 SharinganJPanel (整理)

      /** * Java 动态写轮眼 SharingganJPanel (整理) * * 2016-1-2 深圳 南山平山村 曾剑锋 * 设计声明: * 1.虽然岸本是日本人,而我个人作为其模仿者,依 ...

  2. Java 动态眨眼 EyesJPanel (整理)

    /** * Java 动态眨眼 EyesJPanel (整理) * * 2016-1-2 深圳 南山平山村 曾剑锋 * 注意事项: * 1.本程序为java程序,同时感谢您花费宝贵的时间来阅读本文档: ...

  3. Java 动态太极图 DynamicTaiChi (整理)

    package demo; import java.awt.Color; import java.awt.Graphics; import javax.swing.JFrame; import jav ...

  4. Java Cardioid 心脏形曲线 (整理)

    package demo; import java.awt.Color; import java.awt.Graphics; import javax.swing.JFrame; import jav ...

  5. Java笔试面试题整理第八波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51388516 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  6. Java笔试面试题整理第六波(修正版)

    转载至:http://blog.csdn.net/shakespeare001/article/details/51330745 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  7. Java笔试面试题整理第五波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51321498 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  8. Java笔试面试题整理第四波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51274685 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  9. Java笔试面试题整理第三波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51247785 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

随机推荐

  1. JasperReports报表表达式12

    报表表达式是JasperReports使我们能够显示在报表上的数据计算的强大功能.计算出数据不是一个静态数据,并且不受特别的报表参数或数据源字段传递的数据.报表表达式是由组合报表参数,字段和静态数据. ...

  2. jdk 数组位移运算

    1.采用先shift=31-Integer.numberOfLeadingZeros(scale);取int前面的补零个数31再减去拿到占得内存位长度 2.i偏移shift(其实等于I*位数) 加上b ...

  3. chage 修改用户密码有效期限的命令

    chage 用语法格式: chage [-l] [-m 最小天数] [-M 最大天数] [-W 警告] [-I 失效日] [-E 过期日] [-d 最后日] 用户 前面已经说的好多了,这个只是一笔带过 ...

  4. Luogu P2292 [HNOI2004]L语言(Trie+dp)

    P2292 [HNOI2004]L语言 题面 题目描述 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章 \(T\) 是由若干小写字母构成. ...

  5. Laravel 日志权限问题

    laravel发现日志写入不了, 因为此日志是定时任务生成的, 定时任务的执行用户时root 解决方法: 方法1.修改执行定时任务的用户, 不过www用户时无法登陆的, 可能有点麻烦 方法2.修改la ...

  6. 好用的Win10快捷键

    好用的Win10快捷键 Top 01 基础按键 Win+E: 打开"资源管理器". Win+R: 打开"运行"对话框. Win+L: 锁定当前用户. Win+D ...

  7. Laravel-admin之Driver [] is not supported

    使用Laravel-admin做项目,原本好好的项目,今天一运行则报错:Driver [] is not supported,截图如下: 翻看百度翻译之后,才知道是不支持驱动器[],但是知道意思还是不 ...

  8. Hibernate中的Query

    //1:创建query对象,方法里面写hql语句 Query query = session.createQuery("from User"); //2:利用query对象中的方法 ...

  9. Java基础-注解

    什么是注解? Jdk1.5新增新技术,注解.很多框架为了简化代码,都会提供有些注解.可以理解为插件,是代码级别的插件,在类的方法上写:@XXX,就是在代码上插入了一个插件. 注解不会也不能影响代码的实 ...

  10. Sessions 与Cookies详解

     一.Cookie 是什么? HTTP协议是无状态的,每一次数据交换完毕就结束,服务器端和客户端的链接就会关闭,每次交换数据都需要建立新的链接.例如:我逛淘宝买东西,我看上了易宝棒棒糖,而我下单的时候 ...