結果
問題 | No.859 路線A、路線B、路線C |
ユーザー | 👑 CleyL |
提出日時 | 2019-08-09 22:23:14 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,079 bytes |
コンパイル時間 | 544 ms |
コンパイル使用メモリ | 65,768 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-19 12:21:12 |
合計ジャッジ時間 | 1,198 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 |
ソースコード
#include <iostream> using namespace std; #define x34 min(a2,b2) #define y34 max(a2,b2) int main(){ long long a,b,c;cin>>a>>b>>c;a++;b++;c++; char a1;long long a2;cin>>a1>>a2; char b1;long long b2;cin>>b1>>b2; if(a1==b1){ if(a1=='A')cout << min(y34-x34,x34+(a-y34)-2+(min(c,b))); if(a1=='B')cout << min(y34-x34,x34+(b-y34)-2+(min(a,c))); if(a1=='C')cout << min(y34-x34,x34+(c-y34)-2+(min(a,b))); }else{ if(a1=='A'){ if(b1=='B') cout << min(min(a2+b2-1,(a-a2)+(b-b2)-1),min(c-1+a2+(b-b2),c-1+b2+(a-a2))-1); else cout << min(min(a2+b2-1,(a-a2)+(c-b2)-1),min(b-1+a2+(c-b2),b-1+b2+(a-a2))-1); }else if(a1=='B'){ if(b1=='A') cout << min(min(a2+b2-1,(b-a2)+(a-b2)-1),min(c-1+a2+(a-b2),c-1+b2+(b-a2))-1); else cout << min(min(a2+b2-1,(b-a2)+(c-b2)-1),min(a-1+a2+(c-b2),a-1+b2+(b-a2))-1); }else{ if(b1=='A') cout << min(min(a2+b2-1,(c-a2)+(a-b2)-1),min(b-1+a2+(a-b2),b-1+b2+(c-a2))-1); else cout << min(min(a2+b2-1,(c-a2)+(b-b2)-1),min(a-1+a2+(b-b2),a-1+b2+(c-a2))-1); } } cout << endl; }