Submission #1210646

#TimeUsernameProblemLanguageResultExecution timeMemory
1210646PenguinsAreCuteNavigation 2 (JOI21_navigation2)C++17
40 / 100
314 ms944 KiB
#include "Anna.h"
#include <bits/stdc++.h>
using namespace std;
void Anna(int N, int K, std::vector<int> R, std::vector<int> C) {
	bool ans[N][N][K];
	memset(ans,0,sizeof(ans));
	for(int i=1;i<N;i++) {
		for(int k=0;k<K;k++)
			ans[i][0][k] = ans[i-1][0][k] ^ (i <= R[k]);
	}
	for(int i=0;i<N;i++)
		for(int j=1;j<N;j++)
			for(int k=0;k<K;k++)
				ans[i][j][k] = ans[i][j-1][k] ^ (j <= C[k]);
	for(int i=0;i<N;i++)
		for(int j=0;j<N;j++) {
			int col = 0;
			for(int k=0;k<K;k++)
				col |= (ans[i][j][k] << k);
			SetFlag(i, j, col + 1);
		}
}
#include "Bruno.h"
#include <bits/stdc++.h>
using namespace std;
std::vector<int> Bruno(int K, std::vector<int> value) {
	for(auto &i: value)
		i--;
	vector<int> res(K, 4);
	for(int i=0;i<K;i++) {
		int xn = value[3]^value[4], xp = value[4]^value[5];
		if(!(xn & (1 << i)))
			res[i] = 1;
		if(xp & (1 << i))
			res[i] = 0;
		int yn = value[1]^value[4], yp = value[4]^value[7];
		if(!(yn & (1 << i)))
			res[i] = 3;
		if(yp & (1 << i))
			res[i] = 2;
	}
	return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...