結果

問題 No.208 王将
コンテスト
ユーザー furafy
提出日時 2015-05-23 23:30:36
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 716 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 658 ms
コンパイル使用メモリ 77,080 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2026-03-27 17:34:19
合計ジャッジ時間 1,261 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 22 WA * 1
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <stdio.h>
#include <iostream>
#include <chrono>
using namespace std;

struct Point {
	int x;
	int y;
};

Point start = { 0, 0 };
Point goal;
Point obst;

int main(int argc, char *argv[]) {
	std::ios::sync_with_stdio(false);
	std::cin.tie(0);

	int cnt = 0;

	cin >> goal.x >> goal.y >> obst.x >> obst.y;

	/* 斜めに進んで残った分を真っすぐ進む */
	if (goal.x >= goal.y) {
		cnt += goal.y + (goal.x - goal.y);
	}
	else {
		cnt += goal.x + (goal.y - goal.x);
	}
	/*斜めに進んで障害物にぶつかる場合はコスト+1(真っすぐ進む場合は変わらない)*/
	if ((obst.x < goal.x) && (obst.y < goal.y)) {
		if (obst.x == obst.y) {
			cnt++;
		}
	}
	cout << cnt << endl;
}
0