记录编号 |
57976 |
评测结果 |
AAAAAAAWWA |
题目名称 |
歌词 |
最终得分 |
80 |
用户昵称 |
11111111 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
0.206 s |
提交时间 |
2013-04-15 14:51:37 |
内存使用 |
3.17 MiB |
显示代码纯文本
#include<iostream>
#include<fstream>
#include<list>
#include<algorithm>
#include<queue>
#include<functional>
#include<cstring>
#include<cstdio>
#include<map>
#include<vector>
#include<deque>
#include<iomanip>
#include<string>
#include<cmath>
#include<set>
using namespace std;
int l[2001]={0},n,m;
char t[2001],a,b,c,d,fei;
string g[2001],k,v;
void temp(int a,int b)
{
string f;
int u;
f=g[a];
g[a]=g[b];
g[b]=f;
u=l[a];
l[a]=l[b];
l[b]=u;
}
int main()
{
ifstream fin("lyric.in");
ofstream fout("lyric.out");
int i=0;
while (!fin.eof())
{
i++;
getline(fin,v);
if (v[3]==':')
{
g[i]=v.substr(7);
l[i]=(((int)v[1]-(int)'0')*10+((int)v[2]-(int)'0'))*60;
l[i]+=((int)v[4]-(int)'0')*10+((int)v[5]-(int)'0');
}
else
{
fout<<" "<<v.substr(6)<<endl;
i--;
}
}
n=i;
for (int i=1;i<n;i++)
for (int j=1;j<n;j++)
{
if (l[j]>l[j+1])
temp(j,j+1);
else
if (l[j]==l[j+1])
{
if (g[j].length()>g[j+1].length())
temp(j,j+1);
else
if (g[j].length()==g[j+1].length())
for (int k=1;k<=g[j].length();k++)
if (g[j][k]>g[j+1][k])
{
temp(j,j+1);
break;
}
}
}
for (int i=1;i<=n;i++)
{
fout<<g[i];
if (l[i]!=l[i+1])
fout<<endl;
}
fin.close();
fout.close();
return 0;
}