Submission #205140
Source Code Expand
#include "maze.h" #include "grader.h" #include <cstdio> using namespace std; #define rep(i,n) for(int i = 0; i < n; ++i) const int dx[] = {-1,0,1,0,0}; const int dy[] = {0,-1,0,1,0}; int dir[1000][1000]; void dfs(int i, int j, int v, int M[1000][1000]) { dir[i][j] = v; rep(u,4) { if (v == u || M[i+dx[u]][j+dy[u]]) continue; dfs(i+dx[u]*2,j+dy[u]*2,u^2,M); } } int sch(int v, int u, int ma){ int l = 0, r = ma, c; while (l+1<r) { c = l+r>>1; if (query(dy[v]*c*2+dy[u],dx[v]*c*2+dx[u])) r = c; else l = c; } return l; } void get(int& x, int& y, int W, int H) { int lx, ly, rx, ry; int dv = 4; lx = sch(0,dv,H/2); rx = sch(2,dv,H/2); if (lx+rx != H/2-1) { rep(v,4){ if (query(dy[v],dx[v]) == 0) { dv = v; break; } } lx = sch(0,dv,H/2); rx = sch(2,dv,H/2); } ly = sch(1,dv,W/2); ry = sch(3,dv,W/2); if (ly+ry != W/2-1) { rep(v,4){ if (query(dy[v],dx[v]) == 0) { dv = v; break; } } ly = sch(1,dv,W/2); ry = sch(3,dv,W/2); } x = lx*2+1-dx[dv]; y = ly*2+1-dy[dv]; } void taro(int W, int H, int M[1000][1000]) { dfs(1,1,100,M); for(int i = 1; i <= H-2; i += 2) { for(int j = 1; j <= W-2; j += 2) { if (i == 1 && j == 1) continue; send(dir[i][j]>>1); send(dir[i][j]&1); } } int x, y; get(x,y,W,H); rep(i,9){ send(x&1); x>>=1;} rep(i,9){ send(y&1); y>>=1;} } int m[1000][1000]; int dist(int i, int j, int v, int x, int y, int M[1000][1000]){ if (i == x && j == y) return 0; rep(u,4) { if (v == u || M[i+dx[u]][j+dy[u]]) continue; int res = dist(i+dx[u],j+dy[u],u^2,x,y,M); if (res != -1) return res+1; } return -1; } int jiro(int W, int H, int S, int X[]) { int cur = 0; rep(i,H)rep(j,W) m[i][j] = ((i%2&&j%2)?0:1); for(int i = 1; i <= H-2; i += 2) { for(int j = 1; j <= W-2; j += 2) { if (i == 1 && j == 1) continue; int v = X[cur++]<<1 | X[cur++]; m[i+dx[v]][j+dy[v]] = 0; } } int sx = 0, sy = 0; cur = S; rep(i,9) sy = sy<<1 | X[--cur]; rep(i,9) sx = sx<<1 | X[--cur]; int x, y; get(x,y,W,H); return dist(sx, sy, -1, x, y, m); }
Submission Info
Submission Time | |
---|---|
Task | B - にひきのきつね と くらがりのめいろ (Two Foxes and the Dark Maze) |
User | snuke |
Language | IOI-Style C++ (GCC 5.4.1) |
Score | 0 |
Code Size | 2152 Byte |
Status | WA |
Exec Time | 424 ms |
Memory | 33296 KB |
Judge Result
Set Name | Subtask1 | Subtask2 | Subtask3 | Subtask4 | Subtask5 | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 13 | 0 / 11 | 0 / 21 | 0 / 21 | 0 / 34 | ||||||||||||||||||||||||||||||
Status |
|
|
|
|
|
Set Name | Test Cases |
---|---|
Subtask1 | subtask/1, subtask/10, subtask/11, subtask/12, subtask/13, subtask/14, subtask/15, subtask/16, subtask/17, subtask/18, subtask/19, subtask/2, subtask/20, subtask/21, subtask/22, subtask/23, subtask/24, subtask/25, subtask/26, subtask/27, subtask/28, subtask/29, subtask/3, subtask/30, subtask/31, subtask/32, subtask/33, subtask/34, subtask/35, subtask/36, subtask/37, subtask/38, subtask/39, subtask/4, subtask/40, subtask/41, subtask/42, subtask/43, subtask/44, subtask/45, subtask/46, subtask/47, subtask/48, subtask/49, subtask/5, subtask/50, subtask/51, subtask/52, subtask/53, subtask/54, subtask/55, subtask/56, subtask/6, subtask/7, subtask/8, subtask/9 |
Subtask2 | subtask/1, subtask/10, subtask/11, subtask/12, subtask/13, subtask/14, subtask/15, subtask/16, subtask/17, subtask/18, subtask/19, subtask/2, subtask/20, subtask/21, subtask/22, subtask/23, subtask/24, subtask/25, subtask/26, subtask/27, subtask/28, subtask/29, subtask/3, subtask/30, subtask/31, subtask/32, subtask/33, subtask/34, subtask/35, subtask/36, subtask/37, subtask/38, subtask/39, subtask/4, subtask/40, subtask/41, subtask/42, subtask/43, subtask/44, subtask/45, subtask/46, subtask/47, subtask/48, subtask/49, subtask/5, subtask/50, subtask/51, subtask/52, subtask/53, subtask/54, subtask/55, subtask/56, subtask/6, subtask/7, subtask/8, subtask/9 |
Subtask3 | subtask/1, subtask/10, subtask/11, subtask/12, subtask/13, subtask/14, subtask/15, subtask/16, subtask/17, subtask/18, subtask/19, subtask/2, subtask/20, subtask/21, subtask/22, subtask/23, subtask/24, subtask/25, subtask/26, subtask/27, subtask/28, subtask/29, subtask/3, subtask/30, subtask/31, subtask/32, subtask/33, subtask/34, subtask/35, subtask/36, subtask/37, subtask/38, subtask/39, subtask/4, subtask/40, subtask/41, subtask/42, subtask/43, subtask/44, subtask/45, subtask/46, subtask/47, subtask/48, subtask/49, subtask/5, subtask/50, subtask/51, subtask/52, subtask/53, subtask/54, subtask/55, subtask/56, subtask/6, subtask/7, subtask/8, subtask/9 |
Subtask4 | subtask/1, subtask/10, subtask/11, subtask/12, subtask/13, subtask/14, subtask/15, subtask/16, subtask/17, subtask/18, subtask/19, subtask/2, subtask/20, subtask/21, subtask/22, subtask/23, subtask/24, subtask/25, subtask/26, subtask/27, subtask/28, subtask/29, subtask/3, subtask/30, subtask/31, subtask/32, subtask/33, subtask/34, subtask/35, subtask/36, subtask/37, subtask/38, subtask/39, subtask/4, subtask/40, subtask/41, subtask/42, subtask/43, subtask/44, subtask/45, subtask/46, subtask/47, subtask/48, subtask/49, subtask/5, subtask/50, subtask/51, subtask/52, subtask/53, subtask/54, subtask/55, subtask/56, subtask/6, subtask/7, subtask/8, subtask/9 |
Subtask5 | subtask/1, subtask/10, subtask/11, subtask/12, subtask/13, subtask/14, subtask/15, subtask/16, subtask/17, subtask/18, subtask/19, subtask/2, subtask/20, subtask/21, subtask/22, subtask/23, subtask/24, subtask/25, subtask/26, subtask/27, subtask/28, subtask/29, subtask/3, subtask/30, subtask/31, subtask/32, subtask/33, subtask/34, subtask/35, subtask/36, subtask/37, subtask/38, subtask/39, subtask/4, subtask/40, subtask/41, subtask/42, subtask/43, subtask/44, subtask/45, subtask/46, subtask/47, subtask/48, subtask/49, subtask/5, subtask/50, subtask/51, subtask/52, subtask/53, subtask/54, subtask/55, subtask/56, subtask/6, subtask/7, subtask/8, subtask/9 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask/1 | RE | 324 ms | 33288 KB |
subtask/10 | RE | 397 ms | 33292 KB |
subtask/11 | RE | 385 ms | 33292 KB |
subtask/12 | RE | 409 ms | 33288 KB |
subtask/13 | RE | 349 ms | 17804 KB |
subtask/14 | RE | 385 ms | 17800 KB |
subtask/15 | RE | 361 ms | 17804 KB |
subtask/16 | RE | 407 ms | 17668 KB |
subtask/17 | RE | 358 ms | 17804 KB |
subtask/18 | RE | 376 ms | 17800 KB |
subtask/19 | RE | 374 ms | 17804 KB |
subtask/2 | RE | 292 ms | 33292 KB |
subtask/20 | RE | 364 ms | 17800 KB |
subtask/21 | AC | 72 ms | 17536 KB |
subtask/22 | RE | 153 ms | 1244 KB |
subtask/23 | RE | 182 ms | 11908 KB |
subtask/24 | RE | 32 ms | 1300 KB |
subtask/25 | RE | 372 ms | 18064 KB |
subtask/26 | RE | 178 ms | 2756 KB |
subtask/27 | RE | 300 ms | 15492 KB |
subtask/28 | RE | 370 ms | 21508 KB |
subtask/29 | RE | 302 ms | 12504 KB |
subtask/3 | RE | 249 ms | 17804 KB |
subtask/30 | RE | 273 ms | 11908 KB |
subtask/31 | RE | 261 ms | 14216 KB |
subtask/32 | RE | 182 ms | 12436 KB |
subtask/33 | RE | 179 ms | 12428 KB |
subtask/34 | RE | 157 ms | 1600 KB |
subtask/35 | RE | 184 ms | 1684 KB |
subtask/36 | RE | 164 ms | 1552 KB |
subtask/37 | RE | 159 ms | 1676 KB |
subtask/38 | AC | 66 ms | 8716 KB |
subtask/39 | RE | 146 ms | 1276 KB |
subtask/4 | RE | 424 ms | 17800 KB |
subtask/40 | RE | 164 ms | 1244 KB |
subtask/41 | RE | 35 ms | 1232 KB |
subtask/42 | RE | 388 ms | 33296 KB |
subtask/43 | RE | 392 ms | 33292 KB |
subtask/44 | RE | 382 ms | 17804 KB |
subtask/45 | RE | 371 ms | 17804 KB |
subtask/46 | RE | 344 ms | 17800 KB |
subtask/47 | RE | 362 ms | 17808 KB |
subtask/48 | RE | 245 ms | 17936 KB |
subtask/49 | RE | 374 ms | 17932 KB |
subtask/5 | RE | 358 ms | 17804 KB |
subtask/50 | RE | 372 ms | 17928 KB |
subtask/51 | RE | 380 ms | 17928 KB |
subtask/52 | WA | 277 ms | 23180 KB |
subtask/53 | RE | 383 ms | 18056 KB |
subtask/54 | RE | 398 ms | 17928 KB |
subtask/55 | RE | 419 ms | 18184 KB |
subtask/56 | RE | 262 ms | 22796 KB |
subtask/6 | RE | 237 ms | 17680 KB |
subtask/7 | RE | 377 ms | 33292 KB |
subtask/8 | RE | 413 ms | 33288 KB |
subtask/9 | RE | 393 ms | 33276 KB |