結果
| 問題 |
No.548 国士無双
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-02-26 19:28:04 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 793 bytes |
| コンパイル時間 | 1,365 ms |
| コンパイル使用メモリ | 170,068 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-09-17 14:44:54 |
| 合計ジャッジ時間 | 2,048 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 24 |
ソースコード
//{{{
#include <bits/stdc++.h>
using namespace std;
#define rep(...) repN((__VA_ARGS__,rep3,rep2,loop,~))(__VA_ARGS__)
#define loop(n) rep2(_loop_,n)
#define rep2(i,n) rep3(i,0,n)
#define rep3(i,begin,end) for(int i=(int)(begin),i##_end=(int)(end);i<i##_end;++i)
#define repN(a) repX a
#define repX(a0,a1,a2,x,...) x
typedef long long ll;
const int MOD = 1e9+7;
//}}}
bool f(string str, char c)
{
str.push_back(c);
int a[26] = {0};
rep(i, 14){
a[str[i] - 'a']++;
}
int mx = a[0];
int mn = a[0];
rep(i, 1, 13){
mx = max(mx, a[i]);
mn = min(mn, a[i]);
}
return (mx == 2 && mn == 1);
}
int main(){
string s;
cin >> s;
int count = 0;
for(auto c: "abcdefghijklm"){
if(f(s, c)){
count++;
cout << c << endl;
}
}
if(count == 0){
puts("Impossible");
}
return 0;
}