結果
| 問題 |
No.2715 Unique Chimatagram
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-04-05 21:37:28 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 4 ms / 2,000 ms |
| コード長 | 1,066 bytes |
| コンパイル時間 | 2,359 ms |
| コンパイル使用メモリ | 201,836 KB |
| 最終ジャッジ日時 | 2025-02-20 21:00:40 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 40 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin>>N;
map<array<int,26>,int>U;
for(int i=0;i<N;i++){
array<int,26>cnt;
for(int i=0;i<26;i++)cnt[i]=0;
string S;
cin>>S;
for(auto i:S){
cnt[i-'a']+=1;
}
U[cnt]+=1;
}
for(auto i:U){
if(i.second>=2)continue;
string ans="";
auto t=i.first;
for(int j=0;j<26;j++){
t[j]+=1;
bool all_ok=1;
for(auto i2:U){
if(i2.first==i.first)continue;
int cnt1=0;
bool ok=0;
for(int k=0;k<26;k++){
if(t[k]<i2.first[k]||t[k]>i2.first[k]+1)ok=1;
if(t[k]==i2.first[k]+1)cnt1+=1;
}
if(cnt1!=1){
ok=1;
}
if(!ok)all_ok=0;
}
if(all_ok){
string ans="";
for(int j=0;j<26;j++){
for(int k=0;k<t[j];k++){
ans+=char('a'+j);
}
}
cout<<ans<<'\n';
return 0;
}
t[j]-=1;
}
}
cout<<"-1\n";
}