记录编号 |
57969 |
评测结果 |
AAAAAAAAAA |
题目名称 |
歌词 |
最终得分 |
100 |
用户昵称 |
苏轼 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.054 s |
提交时间 |
2013-04-15 12:49:48 |
内存使用 |
2.96 MiB |
显示代码纯文本
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fi("lyric.in");
ofstream fo("lyric.out");
string name;
int ss=1,news;
class x
{
public:
int t;string st;
};
x a[2001];
void init()
{
string s;
int u,o;
while (!fi.eof())
{
getline(fi,s);
if (s[1]!='n')
{
u=s[1]-48;u*=10;u+=s[2]-48;u*=60;
o=s[4]-48;o*=10;o+=s[5]-48;
a[ss].t=u+o;
for (u=7;u<s.length();u++) a[ss].st+=s[u];
ss++;
}else
{
for (u=6;u<s.length();u++) name+=s[u];
}
}
ss--;a[0].t=-1;
}
bool cmp(x u,x o)
{
if (u.t<o.t) return true;
if (u.t==o.t)
{
if (u.st.length()<o.st.length()) return true;
if (u.st.length()==o.st.length()&&u.st<o.st) return true;
return false;
}
return false;
}
void out()
{
int s=1;
fo<<" "<<name<<endl;
if (ss!=0) fo<<a[1].st;
while (s<ss)
{
s++;
if (a[s].t==a[s-1].t) fo<<a[s].st;else
{
fo<<endl;fo<<a[s].st;
}
}
}
int main()
{
init();
sort(a+1,a+ss+1,cmp);
out();
return 0;
}