結果
問題 | No.232 めぐるはめぐる (2) |
ユーザー |
![]() |
提出日時 | 2015-06-27 01:11:49 |
言語 | C++11 (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,065 bytes |
コンパイル時間 | 473 ms |
コンパイル使用メモリ | 57,812 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-07 19:49:37 |
合計ジャッジ時間 | 1,992 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 17 WA * 5 |
ソースコード
#include <iostream> #include <algorithm> using namespace std; #define REP(i,a,b) for(int i=a;i<(int)b;i++) #define rep(i,n) REP(i,0,n) int main() { int T, A, B; cin >> T >> A >> B; int M = max(A,B); if(M>T) { cout << "NO\n"; return 0; } cout << "YES\n"; if(A == B) { if(T==1) { cout << ">^\n"; return 0; } if(T==2) { cout << ">\n^\n"; return 0; } rep(i, A-1) cout << ">^\n"; T-=A-1; if(T%2==0) { cout << ">\n^\n"; T-=2; } else { cout << ">^\n"; T--; } rep(i,T/2) cout << ">\n"; rep(i,T/2) cout << "<\n"; return 0; } int ur = min(A,B); rep(i, ur) cout << ">^\n"; T -= ur; if(A < B) { rep(i,B-ur-1) cout << ">\n"; T-=B-ur-1; if(T%2==0) { cout << "^\n>v\n"; T-=2; } else { cout << ">\n"; T--; } rep(i,T/2)cout << ">\n"; rep(i,T/2)cout << "<\n"; } else if(A > B) { swap(A,B); rep(i,B-ur-1) cout << "^\n"; T-=B-ur-1; if(T%2==0) { cout << ">\n^<\n"; T-=2; } else { cout << "^\n"; T--; } rep(i,T/2)cout << "^\n"; rep(i,T/2)cout << "v\n"; } return 0; }