結果
問題 | No.208 王将 |
ユーザー | Lepton_s |
提出日時 | 2015-05-15 22:36:31 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,064 bytes |
コンパイル時間 | 723 ms |
コンパイル使用メモリ | 81,896 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-09 16:18:08 |
合計ジャッジ時間 | 1,545 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 23 |
ソースコード
#include <algorithm> #include <climits> #include <cmath> #include <cstdio> #include <cstdlib> #include <ctime> #include <iostream> #include <sstream> #include <functional> #include <map> #include <string> #include <cstring> #include <vector> #include <queue> #include <stack> #include <deque> #include <set> #include <list> #include <numeric> using namespace std; const double PI = 3.14159265358979323846; const double EPS = 1e-12; const int INF = 1<<25; typedef pair<int,int> P; typedef long long ll; typedef unsigned long long ull; ll a, b, c, d, a2, b2, c2, d2; bool block(){ if(a2<c2 || b2<d2) return false; if(a==0){ if(c!=0) return false; return b*d>0; } if(c2!=d2) return false; return a*c>0 && b*d>0; } int main(){ a, b, c, d; cin>>a>>b>>c>>d; if(abs(a)>abs(b)){ swap(a, b); swap(c, d); } if(a<0){ a *= -1; c *= -1; } if(b<0){ b *= -1; d *= -1; } a2 = abs(a), b2 = abs(b), c2 = abs(c), d2 = abs(d); ll res = max(a2, b2); if(a2!=b2) cout<<res<<endl; else if(block()) cout<<res+1<<endl; else cout<<res<<endl; return 0; }