結果

問題 No.632 穴埋め門松列
ユーザー kya_skikya_ski
提出日時 2020-04-20 19:35:58
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 698 bytes
コンパイル時間 1,644 ms
コンパイル使用メモリ 164,476 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-04-16 00:52:48
合計ジャッジ時間 2,391 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
5,248 KB
testcase_01 AC 2 ms
5,248 KB
testcase_02 AC 1 ms
5,376 KB
testcase_03 AC 2 ms
5,376 KB
testcase_04 AC 2 ms
5,376 KB
testcase_05 AC 2 ms
5,376 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:30:20: warning: 'ans' may be used uninitialized [-Wmaybe-uninitialized]
   30 |     cout << ans << '\n';
      |                    ^~~~
main.cpp:19:9: note: 'ans' was declared here
   19 |     int ans;
      |         ^~~

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

bool kdmt (const vector<int> &a) {
    int mini = *min_element(a.begin(), a.end());
    int maxi = *max_element(a.begin(), a.end());
    return (mini == a[1] or maxi == a[1]);
}

int main() {
    vector<int> a(3);
    for (int i = 0; i < 3; i++) {
        char c;
        cin >> c;
        if (c == '?') a[i] = -1;
        else a[i] = (c - '0');
    }
    
    int ans;
    for (int i = 0; i < 3; i++) if (a[i] == -1) {
        a[i] = 1;
        bool one = kdmt(a);
        a[i] = 4;
        bool fou = kdmt(a);
        if (one and fou) ans = 14;
        else if (one) ans = 1;
        else ans = 4;
    }
    
    cout << ans << '\n';
    return 0;
}
0