結果
問題 | No.548 国士無双 |
ユーザー |
|
提出日時 | 2017-11-07 22:08:22 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 877 bytes |
コンパイル時間 | 459 ms |
コンパイル使用メモリ | 67,848 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-17 13:48:24 |
合計ジャッジ時間 | 1,121 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 24 |
ソースコード
#include <iostream> #include <string> #include <map> using namespace std; int main(int argc, char* argv[]) { map<char,int> aMap; int i; for (i=0;i<13;i++){ aMap['a'+i]=0; } string s; cin>>s; map<char,int>::iterator mit; for (i=0;i<s.length();i++){ mit=aMap.find(s[i]); if (mit==aMap.end()){ cout<<"Impossible"<<endl; return 0; } (*mit).second++; if ((*mit).second>2){ cout<<"Impossible"<<endl; return 0; } } int n2=0; int n0=0; for (mit=aMap.begin();mit!=aMap.end();mit++){ if ((*mit).second==2){ n2++; }else if ((*mit).second==0){ n0++; } } if (n2>1){ cout<<"Impossible"<<endl; return 0; } if (n0>0){ for (mit=aMap.begin();mit!=aMap.end();mit++){ if ((*mit).second==0){ cout<<(*mit).first<<endl; } } }else{ for (mit=aMap.begin();mit!=aMap.end();mit++){ cout<<(*mit).first<<endl; } } return 0; }