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
AC × 56
AC × 56
AC × 56
AC × 56
AC × 56
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