結果
| 問題 |
No.232 めぐるはめぐる (2)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-06-26 23:16:18 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,010 bytes |
| コンパイル時間 | 1,376 ms |
| コンパイル使用メモリ | 165,032 KB |
| 実行使用メモリ | 7,504 KB |
| 最終ジャッジ日時 | 2024-07-07 18:25:41 |
| 合計ジャッジ時間 | 2,791 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 WA * 1 |
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:49:17: warning: ‘dx’ may be used uninitialized in this function [-Wmaybe-uninitialized]
49 | int nx = x + dx;
| ^~
main.cpp:48:17: warning: ‘dy’ may be used uninitialized in this function [-Wmaybe-uninitialized]
48 | int ny = y + dy;
| ^~
ソースコード
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); i++)
#define rep2(i, a, b) for (int i = (a); i < (b); i++)
#define rrep(i, n) for (int i = (n) - 1; i >= 0; i--)
#define rrep2(i, a, b) for (int i = (a) - 1; i >= (b); i--)
#define all(v) (v).begin(), (v).end()
using namespace std;
typedef long long ll;
const ll inf = 1e9;
const ll mod = 1e9 + 7;
string get(int dx, int dy) {
string s;
if (dy > 0) s += "^";
if (dy < 0) s += "v";
if (dx > 0) s += ">";
if (dx < 0) s += "<";
return s;
}
int main() {
int T, A, B;
cin >> T >> B >> A;
int x = 0, y = 0;
vector<string> ans;
rep (i, T) {
if (i == 0 && x == A && y == B) {
ans.push_back(get(-1, -1));
x = -1; y = -1;
} else if (i < T - 1) {
int dy, dx;
if (x < A && y < B) {
dy = 1;
dx = 1;
} else if (x < A) {
dy = 0;
dx = 1;
} else if (y < B) {
dy = 1;
dx = 0;
}
int ny = y + dy;
int nx = x + dx;
if (nx == A && ny == B) {
if (y < B) {
if (x < A) dx = 1, dy = 0;
if (x == A) dx = -1, dy = 0;
} else {
if (y < B) dy = 1, dx = 0;
if (y == B) dy = -1, dx = 0;
}
ny = y + dy;
nx = x + dx;
}
ans.push_back(get(dx, dy));
y = ny;
x = nx;
} else {
int dx = A - x;
int dy = B - y;
if (abs(dx) > 1 || abs(dy > 1)) {
cout << "NO" << endl;
} else {
string s;
cout << "YES" << endl;
ans.push_back(get(dx, dy));
for (string e : ans) {
cout << e << endl;
}
}
}
}
}