Submission #418096

#TimeUsernameProblemLanguageResultExecution timeMemory
418096amunduzbaevCop and Robber (BOI14_coprobber)C++14
14 / 100
58 ms1692 KiB
#include "coprobber.h"
#include "bits/stdc++.h"

#ifndef EVAL
#include "grader.cpp"
#endif

using namespace std;

const int MAXN = 500;
int n, m, x, y;

int start(int N, bool A[MAX_N][MAX_N]){
	n = N;
	for(int i=1;i<N;i++){
		int cnt = 0;
		for(int j=0;j<N;j++) cnt += A[i][j];
		if(cnt == 2) { m = i+1; break; }
	}
	
	return 0;
}

int nextMove(int r){
	int tx = r / m, ty = r % m;
	int xd = abs(tx - x), yd = abs(ty - y);
	if(xd > yd){
		if(tx > x) x++;
		else x--;
	} if(xd < yd){
		if(ty > y) y++;
		else y--;
	} return x * m + y;
}

/*

9
0 1 0 1 0 0 0 0 0
1 0 1 0 1 0 0 0 0
0 1 0 0 0 1 0 0 0
1 0 0 0 1 0 1 0 0
0 1 0 1 0 1 0 1 0
0 0 1 0 1 0 0 0 1
0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 1 0 1
0 0 0 0 0 1 0 1 0

*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...