Submission #254928

#TimeUsernameProblemLanguageResultExecution timeMemory
254928super_j6Cop and Robber (BOI14_coprobber)C++14
0 / 100
1 ms384 KiB
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
#define endl '\n'
#define ll long long
#define pi pair<int, int>
#define f first
#define s second

const int mxn = 500;
int n, m, w, h;
int c;

pi f(int x){
	return {x / h, x % h};
}

int ff(pi p){
	return p.f * h + p.s;
}

int start(int N, bool g[mxn][mxn]){
	n = N;
	for(h = 1; h < n && g[h - 1][h]; h++);
	w = n / h;
	return c = ff({0, 0});
}

int nextMove(int r){
	pi pc = f(c), pr = f(r);
	pr.f -= pc.f, pr.s -= pc.s;
	
	if(abs(pr.f) > abs(pr.s)){
		pc.f += 2 * (pr.f > 0) - 1;
	}else if(abs(pr.s) > abs(pr.f)){
		pc.s += 2 * (pc.s > 0) - 1;
	}
	
	return c = ff(pc);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...