結果
問題 | No.232 めぐるはめぐる (2) |
ユーザー |
|
提出日時 | 2015-06-26 23:48:39 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 133 ms / 1,000 ms |
コード長 | 1,510 bytes |
コンパイル時間 | 1,295 ms |
コンパイル使用メモリ | 159,312 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-14 12:33:00 |
合計ジャッジ時間 | 3,038 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define REP(i, n) for(int(i)=0;(i)<(n);++(i)) int main(){ int T,Y,X; cin >> T >> Y >> X; if(T < Y || T < X || (X == 0 && Y == 0 && T == 1)){ cout << "NO" << endl; return 0; } cout << "YES" << endl; int x = 0, y = 0; while(T > 0){ int dx = X - x, dy = Y - y; if(dx <= 1 && dy <= 1){ if(dx == 0 && dy == 0 && T % 2 != 0){ cout << "<" << endl; x--; T--; continue; } if(dy == 0 && T % 2 == 0){ cout << "v" << endl; y--; T--; continue; } if(dx == 0 && T % 2 == 0){ cout << "<" << endl; x--; T--; continue; } if(dx && dy && T % 2 == 0 && T >= 2){ cout << "^" << endl; y++; T--; continue; } if(T == 1){ string s; if(dx) s += ">"; if(dy) s += "^"; cout << s << endl; T--; } else { cout << ">" << endl << "<" << endl; T -= 2; } continue; } if(dx == dy){ cout << "^>" << endl; x++; y++; T--; continue; } if(dy > dx){ cout << "^" << endl; y++; T--; } else { cout << ">" << endl; x++; T--; } } }