結果
| 問題 |
No.232 めぐるはめぐる (2)
|
| コンテスト | |
| ユーザー |
moti
|
| 提出日時 | 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;
}
moti