結果
| 問題 | No.232 めぐるはめぐる (2) | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2022-10-15 02:17:58 | 
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 25 ms / 1,000 ms | 
| コード長 | 763 bytes | 
| コンパイル時間 | 1,970 ms | 
| コンパイル使用メモリ | 197,480 KB | 
| 最終ジャッジ日時 | 2025-02-08 05:56:48 | 
| ジャッジサーバーID (参考情報) | judge2 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 22 | 
ソースコード
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0; i < (n); i++)
using namespace std;
typedef long long ll;
int main(){
    cin.tie(0);
    ios::sync_with_stdio(0);
    
    int T,A,B; cin >> T >> A >> B;
    if(T < A || T < B){ cout << "NO" << "\n"; return 0; }
    vector<string> ans(T, string(""));
    int TA = T, TB = T;
    if(A % 2 != TA % 2) TA--;
    rep(i,(TA+A)/2) ans[i] += '^';
    rep(i,(TA-A)/2) ans[i + (TA+A)/2] += 'v';
    if(B % 2 != TB % 2) TB--;
    rep(i,(TB+B)/2) ans[T - 1 - i] += '>';
    rep(i,(TB-B)/2) ans[T - 1 - (i + (TB+B)/2)] += '<';
    int ok = 1;
    rep(i,T) ok &= !ans[i].empty();
    if(ok) {
        cout << "YES" << "\n";
        rep(i,T) cout << ans[i] << "\n";
    } else {
        cout << "NO" << "\n";
    }
}
            
            
            
        