记录编号 | 380552 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 歌词 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.105 s | ||
提交时间 | 2017-03-09 17:41:44 | 内存使用 | 0.93 MiB | ||
#include <cstdio> #include <cstring> #include <algorithm> #include <string> #include <iostream> using namespace std; int N = 0; char ch[2010][300]; struct Link{ string s; string time; }a[2010]; string s[2010],ss[2010]; struct ASD{ string s; int len; bool operator < (const ASD &a)const{ if(s.substr(0,7) == a.s.substr(0,7)){ if(len!=a.len)return len < a.len; return s < a.s; } return s < a.s; } }b[2010]; void read(){ while(1){ N++; gets(ch[N]); if(ch[N][0] == '\0')break; int len = strlen(ch[N]); for(int j = 0;j < len;j++)b[N].s.push_back(ch[N][j]); b[N].len = b[N].s.size(); }N--; sort(b+1,b+1+N); //for(int i = 1;i <= N;i++)cout<<b[i].s<<endl; int len = b[N].s.size(); cout<<" "<<b[N].s.substr(6,len-6)<<endl; N--; } void Do(){ for(int i = 1;i <= N;i++){ a[i].time = b[i].s.substr(0,7); a[i].s = b[i].s.substr(7,s[i].size()-7); } int i = 1,j = 1,cnt = 0; for(i = 1;i <= N;i++){ j = i+1;ss[++cnt] = a[i].s; while(a[i].time == a[j].time&&j <= N){ ss[cnt] = ss[cnt] + a[j].s; j++; } i = j-1; } for(int i = 1;i <= cnt;i++)cout<<ss[i]<<endl; } int main(){ freopen("lyric.in","r",stdin); freopen("lyric.out","w",stdout); read(); Do(); return 0; }