結果
問題 |
No.232 めぐるはめぐる (2)
|
ユーザー |
![]() |
提出日時 | 2018-06-19 13:58:08 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 130 ms / 1,000 ms |
コード長 | 1,314 bytes |
コンパイル時間 | 1,989 ms |
コンパイル使用メモリ | 167,860 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-14 12:45:35 |
合計ジャッジ時間 | 3,739 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
#include "bits/stdc++.h" #define REP(i,n,N) for(int i=(n); i<(N); i++) #define RREP(i,n,N) for(int i=(N-1); i>=n; i--) #define CK(n,a,b) ((a)<=(n)&&(n)<(b)) #define ALL(v) (v).begin(),(v).end() #define p(s) cout<<(s)<<endl #define p2(a,b) cout<<(a)<<" "<<(b)<<endl #define v2(T) vector<vector<T>> typedef long long ll; using namespace std; const int inf=1e9+7; int T,A,B; int main() { cin>>T>>A>>B; if(T<max(A,B)){ p("NO"); return 0; } if(A==0&&B==0&&T==1){ p("NO"); return 0; } p("YES"); int mn=max(A,B); if((T-mn)%2){ if(A==0&&B>0){ cout<<"^>"<<endl; cout<<"v"<<endl; B--; }else if(B==0&&A>0){ cout<<"^>"<<endl; cout<<"<"<<endl; A--; }else{ cout<<"^"<<endl; cout<<">"<<endl; A--; B--; } T-=2; if(A==-1&&B==-1){ cout<<"v<"<<endl; T--; } } mn=min(A,B); REP(i, 0, mn){ cout<<"^>"<<endl; } A-=mn; B-=mn; T-=mn; REP(i, 0, A){ cout<<"^"<<endl; }REP(i, 0, B){ cout<<">"<<endl; } T-=A; T-=B; REP(i,0,T/2){ cout<<"^"<<endl; cout<<"v"<<endl; } return 0; }