# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
93634 | tmwilliamlin168 | 로봇 (APIO13_robots) | C++14 | 952 ms | 164864 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
const int mxN=9, mxS=500, mxD=mxS*mxS*mxN;
int n, w, h, di[4]={-1, 0, 1, 0}, dj[4]={0, 1, 0, -1}, d[mxN*(mxN+1)/2][mxS][mxS], ans=INT_MAX, m1[mxN][mxN];
string g[mxS];
array<int, 2> e[mxS][mxS][4], m2[mxN*(mxN+1)/2];
vector<array<int, 2>> bd[mxD];
bool ib(int i, int j) {
return i<0||j<0||i>=h||j>=w||g[i][j]=='x';
}
array<int, 2> dfs(int i, int j, int k) {
if(e[i][j][k][0]==-1) {
e[i][j][k][0]=-2;
int nk=k;
if(g[i][j]=='C')
nk=(k+1)%4;
else if(g[i][j]=='A')
nk=(k+3)%4;
int ni=i+di[nk], nj=j+dj[nk];
e[i][j][k]=ib(ni, nj)?array<int, 2>{i, j}:dfs(ni, nj, nk);
}
return e[i][j][k];
}
void bfs(int d[mxS][mxS]) {
memset(d, 0x3f, sizeof(::d[0]));
for(int di=0; di<mxD; ++di) {
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |