比赛 |
名字我取了 |
评测结果 |
AAAAAAAAAAAAAAA |
题目名称 |
字串重组 |
最终得分 |
100 |
用户昵称 |
サイタマ |
运行时间 |
1.521 s |
代码语言 |
C++ |
内存使用 |
23.26 MiB |
提交时间 |
2017-09-15 21:10:30 |
显示代码纯文本
#include<fstream>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
ifstream cin("R.in");
ofstream cout("R.out");
class node
{public:
int d,l;
node()
{
l=0;
}
}f[2000001];
long long n,i,a,t,j,max_size=0;
string s,str[2000001];
int lyh()
{
cin>>n;
for(i=1;i<=n;i++)
{
cin>>str[i];
cin>>a;
for(j=1;j<=a;j++)
{
cin>>t;
if(f[t].l<str[i].length())
{
f[t].d=i;
f[t].l=str[i].length();
}
max_size=max(max_size,t);
}
}
long long now=0;
for(i=1;i<=max_size;i++)
{
if(f[i].d==0&&now==0)cout<<'a';
if(f[i].d!=0)
{
if(now==0){
cout<<str[f[i].d];
now=str[f[i].d].length();
}
if(now>=1&&now<str[f[i].d].length()){
cout<<str[f[i].d].substr(now);
now=str[f[i].d].length();
}
}
if(now>0)now--;
}
cin.close();
cout.close();
return 0;
}
int h=lyh();
int main(){;}