結果
| 問題 | No.632 穴埋め門松列 | 
| コンテスト | |
| ユーザー |  kya_ski | 
| 提出日時 | 2020-04-20 19:35:58 | 
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 1,000 ms | 
| コード長 | 698 bytes | 
| コンパイル時間 | 1,526 ms | 
| コンパイル使用メモリ | 168,216 KB | 
| 実行使用メモリ | 6,820 KB | 
| 最終ジャッジ日時 | 2024-10-06 09:11:13 | 
| 合計ジャッジ時間 | 2,021 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 6 | 
コンパイルメッセージ
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;
      |         ^~~
            
            ソースコード
#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;
}
            
            
            
        