結果
問題 |
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; }