Submission #25356
Source Code Expand
#include<queue> #include<cstdio> #include<algorithm> #include"maze.h" #include"grader.h" #define rep(i,n) for(int i=0;i<(n);i++) using namespace std; const int INF=1<<29; const int dx[]={1,0,-1,0},dy[]={0,-1,0,1}; struct point{ int x,y; point(){} point(int x,int y):x(x),y(y){} }; void taro(int W,int H,int M[1000][1000]){ int tx=INF,ty=INF; for(int y=-1000;y<=1000;y++) for(int x=-1000;x<=1000;x++) { if(query(x,y)==0){ tx=min(tx,x); ty=min(ty,y); } } tx=1-tx; ty=1-ty; rep(y,H) rep(x,W) if(x%2^y%2) send(M[y][x]); rep(i,10) send(!!(tx&1<<i)); rep(i,10) send(!!(ty&1<<i)); } int jiro(int W,int H,int n_sig,int sig[]){ int i_sig=0; static int M[1000][1000]; rep(y,H) rep(x,W) { if(x%2^y%2) M[y][x]=sig[i_sig++]; else M[y][x]=(x%2&&y%2?0:1); } int tx=0,ty=0; // taro のいる座標 rep(i,10) tx|=sig[i_sig++]<<i; rep(i,10) ty|=sig[i_sig++]<<i; int jx=INF,jy=INF; for(int y=-1000;y<=1000;y++) for(int x=-1000;x<=1000;x++) { if(query(x,y)==0){ jx=min(jx,x); jy=min(jy,y); } } jx=1-jx; jy=1-jy; // BFS static int d[1000][1000]; rep(y,H) rep(x,W) d[y][x]=INF; d[jy][jx]=0; queue<point> Q; Q.push(point(jx,jy)); while(!Q.empty()){ int x=Q.front().x,y=Q.front().y; Q.pop(); rep(k,4){ int xx=x+dx[k],yy=y+dy[k]; if(M[yy][xx]==0 && d[yy][xx]==INF){ d[yy][xx]=d[y][x]+1; Q.push(point(xx,yy)); } } } return d[ty][tx]; }
Submission Info
Submission Time | |
---|---|
Task | B - にひきのきつね と くらがりのめいろ (Two Foxes and the Dark Maze) |
User | fura2 |
Language | IOI-Style C++ (GCC 5.4.1) |
Score | 24 |
Code Size | 1481 Byte |
Status | AC |
Exec Time | 432 ms |
Memory | 21576 KB |
Judge Result
Set Name | Subtask1 | Subtask2 | Subtask3 | Subtask4 | Subtask5 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 13 / 13 | 11 / 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 | AC | 383 ms | 21388 KB |
subtask/10 | AC | 392 ms | 21412 KB |
subtask/11 | AC | 372 ms | 21408 KB |
subtask/12 | AC | 423 ms | 21440 KB |
subtask/13 | AC | 400 ms | 21540 KB |
subtask/14 | AC | 409 ms | 21576 KB |
subtask/15 | AC | 401 ms | 21544 KB |
subtask/16 | AC | 417 ms | 21540 KB |
subtask/17 | AC | 405 ms | 21540 KB |
subtask/18 | AC | 408 ms | 21548 KB |
subtask/19 | AC | 402 ms | 21572 KB |
subtask/2 | AC | 390 ms | 21436 KB |
subtask/20 | AC | 413 ms | 21552 KB |
subtask/21 | AC | 129 ms | 17628 KB |
subtask/22 | AC | 96 ms | 8716 KB |
subtask/23 | AC | 131 ms | 17568 KB |
subtask/24 | AC | 98 ms | 8804 KB |
subtask/25 | AC | 427 ms | 21416 KB |
subtask/26 | AC | 112 ms | 9668 KB |
subtask/27 | AC | 321 ms | 19616 KB |
subtask/28 | AC | 364 ms | 21036 KB |
subtask/29 | AC | 306 ms | 15952 KB |
subtask/3 | AC | 401 ms | 21568 KB |
subtask/30 | AC | 245 ms | 16216 KB |
subtask/31 | AC | 247 ms | 15772 KB |
subtask/32 | AC | 139 ms | 17700 KB |
subtask/33 | AC | 139 ms | 17700 KB |
subtask/34 | AC | 104 ms | 8900 KB |
subtask/35 | AC | 104 ms | 8892 KB |
subtask/36 | AC | 106 ms | 8880 KB |
subtask/37 | AC | 104 ms | 8888 KB |
subtask/38 | AC | 93 ms | 8744 KB |
subtask/39 | AC | 94 ms | 8720 KB |
subtask/4 | AC | 413 ms | 21444 KB |
subtask/40 | AC | 93 ms | 8740 KB |
subtask/41 | AC | 96 ms | 8684 KB |
subtask/42 | AC | 370 ms | 21412 KB |
subtask/43 | AC | 401 ms | 21440 KB |
subtask/44 | AC | 400 ms | 21536 KB |
subtask/45 | AC | 406 ms | 21548 KB |
subtask/46 | AC | 398 ms | 21544 KB |
subtask/47 | AC | 407 ms | 21536 KB |
subtask/48 | AC | 426 ms | 21420 KB |
subtask/49 | AC | 426 ms | 21416 KB |
subtask/5 | AC | 397 ms | 21540 KB |
subtask/50 | AC | 431 ms | 21412 KB |
subtask/51 | AC | 432 ms | 21416 KB |
subtask/52 | AC | 382 ms | 21412 KB |
subtask/53 | AC | 403 ms | 21420 KB |
subtask/54 | AC | 429 ms | 21412 KB |
subtask/55 | AC | 407 ms | 21436 KB |
subtask/56 | AC | 397 ms | 21448 KB |
subtask/6 | AC | 412 ms | 21412 KB |
subtask/7 | AC | 378 ms | 21408 KB |
subtask/8 | AC | 398 ms | 21448 KB |
subtask/9 | AC | 377 ms | 21420 KB |