結果
| 問題 | No.632 穴埋め門松列 | 
| コンテスト | |
| ユーザー |  mas9612 | 
| 提出日時 | 2019-08-03 18:57:42 | 
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 1,000 ms | 
| コード長 | 933 bytes | 
| コンパイル時間 | 515 ms | 
| コンパイル使用メモリ | 58,584 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-07-06 04:02:40 | 
| 合計ジャッジ時間 | 1,105 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 6 | 
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:21:14: warning: ‘unknown’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   21 |     v[unknown] = 1;
      |              ^
            
            ソースコード
#include <iostream>
#include <vector>
using namespace std;
bool is_kadomatsu(vector<int>& v);
int main() {
    int unknown;
    vector<int> v(3, 0);
    for (int i = 0; i < 3; ++i) {
        char c;
        cin >> c;
        if (c == '?')
            unknown = i;
        else
            v[i] = c - '0';
    }
    v[unknown] = 1;
    bool ans1 = is_kadomatsu(v);
    v[unknown] = 4;
    bool ans4 = is_kadomatsu(v);
    if (ans1 && ans4)
        cout << "14\n";
    else if (ans1)
        cout << "1\n";
    else
        cout << "4\n";
}
bool is_kadomatsu(vector<int>& v) {
    if (v[0] == v[1] || v[0] == v[2] || v[1] == v[2])
        return false;
    int max_idx = 0;
    int min_idx = 0;
    for (int i = 1; i < 3; ++i) {
        if (v[max_idx] < v[i])
            max_idx = i;
        if (v[min_idx] > v[i])
            min_idx = i;
    }
    if (max_idx != 1 && min_idx != 1)
        return false;
    return true;
}
            
            
            
        