結果
問題 | No.232 めぐるはめぐる (2) |
ユーザー |
![]() |
提出日時 | 2015-06-26 23:25:42 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,815 bytes |
コンパイル時間 | 654 ms |
コンパイル使用メモリ | 80,700 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-07 18:30:50 |
合計ジャッジ時間 | 2,480 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 WA * 5 |
ソースコード
#include <algorithm> #include <cstdio> #include <cstdlib> #include <cctype> #include <cmath> #include <iostream> #include <queue> #include <list> #include <map> #include <numeric> #include <set> #include <sstream> #include <string> #include <vector> using namespace std; #define REP(i,a,n) for(int i=(a); i<(int)(n); i++) #define rep(i,n) REP(i,0,n) #define FOR(it,c) for(__typeof((c).begin()) it=(c).begin(); it!=(c).end(); ++it) #define ALLOF(c) (c).begin(), (c).end() typedef long long ll; int main(){ int T, A, B; cin >> T >> A >> B; if(!(A<=T && B<=T)){ cout << "NO" << endl; return 0; } if(A==0 && B==0 && T==1){ cout << "NO" << endl; return 0; } cout << "YES" << endl; int remain = T - max(A, B); int x=0, y=0; if(T==1){ while(true){ if(A-y==1 || B-x==1) break; if(y == A){ x++; cout << ">" << endl; } else if(x == B){ y++; cout << "^" << endl; }else{ x++; y++; cout << "^>" << endl; } } if(A-y==1 && B-x==1){ cout << ">" << endl; cout << "^" << endl; } else if(A-y==1){ cout << ">" << endl; cout << "^<" << endl; } else if(B-x==1){ cout << "^" << endl; cout << "v>" << endl; } return 0; } while(remain>0){ if(remain%2==1){ remain -= 3; cout << "^" << endl; cout << ">" << endl; cout << "<v" << endl; }else{ remain -= 2; cout << "^" << endl; cout << "v" << endl; } } while(true){ if(y==A && x==B) break; if(y == A){ x++; cout << ">" << endl; } else if(x == B){ y++; cout << "^" << endl; }else{ x++; y++; cout << "^>" << endl; } } return 0; }