結果
| 問題 |
No.331 CodeRunnerでやれ
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-01-02 10:10:42 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 376 ms / 5,000 ms |
| コード長 | 1,095 bytes |
| コンパイル時間 | 601 ms |
| コンパイル使用メモリ | 65,952 KB |
| 実行使用メモリ | 25,476 KB |
| 平均クエリ数 | 352.47 |
| 最終ジャッジ日時 | 2024-07-17 02:25:40 |
| 合計ジャッジ時間 | 6,569 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 16 |
ソースコード
#include<iostream>
#include<cstring>
using namespace std;
#define inRange(x,a,b) (a <= x && x < b)
int di[8] = {0,1,0,-1,1,1,-1,-1};
int dj[8] = {1,0,-1,0,1,-1,1,-1};
int way[50][50][4];
bool vis[50][50] = {};
void front(){
cout << "F" << endl << flush;
}
void right(){
cout << "R" << endl << flush;
}
void back(){
cout << "B" << endl << flush;
}
void goal(){
front();
string s;
cin >> s;
if(s == "20151224") goal();
exit(0);
}
// 次出力する
void dfs(int i, int j, int dir, int res){
if(res == 20151224) goal();
for(int k = 0; k < 4; k++){
if(res > 0){
if(res == 20151224) goal();
int ni = i+di[dir], nj = j+dj[dir];
if(!vis[ni][nj]){
vis[ni][nj] = true;
front();
cin >> res;
dfs(ni, nj, dir, res);
}
}
right();
cin >> res;
dir = (dir+1)%4;
}
back();
cin >> res;
return;
}
int main(){
vis[25][25] = true;
int dir = 0, res;
cin >> res;
dfs(25, 25, 0, res);
}