結果

問題 No.548 国士無双
ユーザー focus
提出日時 2018-02-13 20:07:15
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 860 bytes
コンパイル時間 1,024 ms
コンパイル使用メモリ 61,928 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-09-17 14:44:49
合計ジャッジ時間 1,901 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 24
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:9:10: warning: ‘ans’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    9 |     char ans;
      |          ^~~

ソースコード

diff #

#include<iostream>
#include<algorithm>
#include<vector>
#include<cstdio>
using namespace std;

int main(){
    int table[26] = {},flag=0,flag2=0;
    char ans;
    string str;
    cin >> str;
    for(int i=0;str[i]!='\0';i++){
        table[str[i]-'a']++;
    }
    for(int i=0;i<13;i++){
        if(table[i]==0){
             ans = i+'a';
             flag2++;
        }
        else if(table[i]==2) flag++;
        else if(flag2>1||flag>1||table[i]>2){
            cout << "Impossible" << endl;
            return 0;
        }
    }
    for(int i=13;i<26;i++){
        if(table[i]){
            cout << "Impossible" << endl;
            return 0;
        }
    }
    if(flag==0&&flag2==1) cout << "Impossible" << endl;
    if(flag==0){
        for(int i=0;i<13;i++)   printf("%c\n",('a'+i));
    }
    else{
        cout << ans << endl;
    }
    return 0;
}
0