結果
| 問題 |
No.172 UFOを捕まえろ
|
| コンテスト | |
| ユーザー |
@abcde
|
| 提出日時 | 2019-02-17 01:30:17 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 635 bytes |
| コンパイル時間 | 1,634 ms |
| コンパイル使用メモリ | 159,480 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-09-25 04:03:41 |
| 合計ジャッジ時間 | 2,376 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main() {
// 1. 入力情報取得.
int x, y, r;
cin >> x >> y >> r;
x = abs(x);
y = abs(y);
// 2. 結界の最小値を算出.
// ベクトル(-1, 1) の方向に従って, UFO を y軸上 に移動.
// -> 座標(0, x + y) に移動したことになる.
y += x;
// 半径 r の √2 倍 を考慮して, UFO の外側に来る y軸上の自然数を計算.
// -> この値が, マンハッタン距離に相当する筈.
int ans = y + ceil(sqrt(2.0) * r);
// 3. 出力.
cout << ans << endl;
return 0;
}
@abcde