結果
| 問題 |
No.208 王将
|
| コンテスト | |
| ユーザー |
tsukimizake774
|
| 提出日時 | 2015-06-09 21:41:13 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 975 bytes |
| コンパイル時間 | 576 ms |
| コンパイル使用メモリ | 70,940 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-06 15:14:18 |
| 合計ジャッジ時間 | 1,386 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 22 WA * 1 |
ソースコード
#include <iostream>
#include <utility>
#include <memory>
#include <cmath>
using coord = std::pair<int, int>;
#ifndef BOOST_TEST_MAIN
int main(int const argc, char const** argv){
int x, y, x2, y2;
std::cin >> x >> y;
std::cin >> x2 >> y2;
coord dest = {x, y};
coord king = {0, 0};
auto p = std::make_shared<int>(king.first);
auto q = std::make_shared<int>(king.second);
double kdtilt = (double)y / (double)x;
double kotilt = (double)y2 / (double)x2;
double kdlen = y * y + x * x;
double kolen = y2 * y2 + x2 * x2;
// std::cout << " kdtilt:" << kdtilt << " kdlen:" << kdlen << "\n";
// std::cout << " kotilt:" << kotilt << " kolen:" << kolen << "\n";
auto count = 0;
// ナナメ一直線のときは1回ロス
auto tiltcond = std::isfinite(kdtilt) && ((kdtilt == 1.0 && kotilt == 1.0) || (kdtilt == 1.0 && kotilt == -1.0));
if(tiltcond && kdlen > kolen){
++count;
}
count += std::max(x, y);
std::cout << count;
}
#endif
tsukimizake774