結果

問題 No.172 UFOを捕まえろ
ユーザー data9824data9824
提出日時 2016-10-02 04:39:34
言語 C++11
(gcc 11.4.0)
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 744 bytes
コンパイル時間 543 ms
コンパイル使用メモリ 54,724 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-21 12:54:17
合計ジャッジ時間 1,354 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
5,248 KB
testcase_01 AC 2 ms
5,248 KB
testcase_02 AC 1 ms
5,248 KB
testcase_03 AC 2 ms
5,248 KB
testcase_04 AC 2 ms
5,248 KB
testcase_05 AC 1 ms
5,248 KB
testcase_06 AC 2 ms
5,248 KB
testcase_07 AC 2 ms
5,248 KB
testcase_08 AC 2 ms
5,248 KB
testcase_09 AC 2 ms
5,248 KB
testcase_10 AC 2 ms
5,248 KB
testcase_11 AC 1 ms
5,248 KB
testcase_12 AC 2 ms
5,248 KB
testcase_13 AC 2 ms
5,248 KB
testcase_14 AC 2 ms
5,248 KB
testcase_15 AC 1 ms
5,248 KB
testcase_16 AC 1 ms
5,248 KB
testcase_17 AC 2 ms
5,248 KB
testcase_18 AC 2 ms
5,248 KB
testcase_19 AC 1 ms
5,248 KB
testcase_20 AC 1 ms
5,248 KB
testcase_21 AC 2 ms
5,248 KB
testcase_22 AC 2 ms
5,248 KB
testcase_23 AC 2 ms
5,248 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <stdlib.h>

using namespace std;

int main() {
	int x, y, r;
	cin >> x >> y >> r;
	/*
		第1象限の結界の直線: y=-x+d
		第1象限のUFOの円: (x-X)^2+(y-Y)^2=r^2
		両者の交点が存在しないかを求める。
			(x-X)^2+(-x+d-Y)^2=r^2
			x^2-2Xx+X^2+x^2-2(d-Y)x+(d-Y)^2=r^2
			2x^2+(-2X-2(d-Y))x+X^2+(d-Y)^2-r^2=0
		以下が成立するとき、交点が存在しない。
			a:=2
			b:=-2X-2(d-Y)
			c:=X^2+(d-Y)^2-r^2
			b^2-4ac<0
	*/
	x = abs(x);
	y = abs(y);
	for (int result = x + y; ; ++result) {
		double a = 2;
		double b = -2 * x - 2 * (result - y);
		double c = x * x + (result - y) * (result - y) - r * r;
		if (b * b - 4 * a * c < 0.) {
			cout << result << endl;
			return 0;
		}
	}
}
0