记录编号 57976 评测结果 AAAAAAAWWA
题目名称 歌词 最终得分 80
用户昵称 Gravatar11111111 是否通过 未通过
代码语言 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;
}