結果
| 問題 |
No.2715 Unique Chimatagram
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-04-05 22:04:34 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,309 bytes |
| コンパイル時間 | 3,641 ms |
| コンパイル使用メモリ | 261,540 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-10-01 02:21:52 |
| 合計ジャッジ時間 | 31,843 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 22 WA * 8 TLE * 10 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using llu = long long unsigned;
// メイン関数
int main() {
int n;
cin >> n;
vector<string> s(n);
for (int i=0; i<n; ++i) {
string t;
cin >> t;
sort(t.begin(), t.end());
s[i] = t;
}
vector<bool> isNg(n);
for (int i=0; i<n; ++i) {
for (int j=i+1; j<n; ++j) {
if (s[i] == s[j]) {
isNg[i] = true;
isNg[j] = true;
}
else if (s[i].size() == s[j].size()) {
map<char, int> tmp1, tmp2;
for (int k=0; k<s[i].size(); ++k) {
tmp1[s[i][k]]++;
}
for (int k=0; k<s[j].size(); ++k) {
tmp2[s[j][k]]++;
}
int count = 0;
for (char c='a'; c<='z'; ++c) {
if (tmp1[c] != tmp2[c]) { count++; }
}
if (count <= 2) {
isNg[i] = true;
isNg[j] = true;
}
}
}
}
string ret = "-1";
for (int i=0; i<n; ++i) {
if (!isNg[i]) {
ret = s[i] + 'a';
break;
}
}
cout << ret << endl; return 0;
}