結果

問題 No.632 穴埋め門松列
ユーザー ant2357ant2357
提出日時 2018-02-03 23:32:33
言語 C++17
(gcc 12.3.0 + boost 1.83.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 932 bytes
コンパイル時間 1,937 ms
コンパイル使用メモリ 204,152 KB
実行使用メモリ 4,380 KB
最終ジャッジ日時 2023-09-03 21:17:26
合計ジャッジ時間 2,467 ms
ジャッジサーバーID
(参考情報)
judge14 / judge12
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,380 KB
testcase_01 AC 2 ms
4,380 KB
testcase_02 AC 2 ms
4,380 KB
testcase_03 AC 2 ms
4,376 KB
testcase_04 AC 2 ms
4,380 KB
testcase_05 AC 1 ms
4,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include "bits/stdc++.h"

using namespace std;

using ll = long long;
using ld = long double;

const int INF = (1 << 30) - 1;
const ll INF64 = ((ll)1 << 62) - 1;
const double PI = 3.1415926535897932384626433832795;

const int dx[] = { 0, 1, 0, -1 };
const int dy[] = { -1, 0, 1, 0 };

bool check(const vector<int>& c) {
	if (c[0] == c[1] || c[0] == c[2] || c[1] == c[2])  {
		return false;
	}
	return (c[0] < c[1] && c[1] > c[2]) || (c[0] > c[1] && c[1] < c[2]);
}

string solve(const vector<string>& input, string str) {
	vector<string> cs = input;
	for (auto& v : cs) {
		if (v == "?") {
			v = str;
		}
	}

	vector<int> c(3);
	for (int i = 0; i < c.size(); i++) { 
		c[i] = stoi(cs[i]);
	}

	return check(c) ? str : "";
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);

	vector<string> input(3);
	for (int i = 0; i < 3; i++) {
		cin >> input[i];
	}

	cout << solve(input, "1") + solve(input, "4") << endl;
	return 0;
}
0