Submission #1231298

#TimeUsernameProblemLanguageResultExecution timeMemory
1231298damamilaNavigation 2 (JOI21_navigation2)C++20
19 / 100
322 ms876 KiB
#include "Anna.h"
#include <bits/stdc++.h>

using namespace std;

namespace {
	int mod = 3;
} // namespace

void Anna(int N, int K, std::vector<int> R, std::vector<int> C) {
	for (int r = 0; r < N; r++) {
		for (int c = 0; c < N; c++) {
			int tmp = 0;
			for (int i = 0; i < K; i++) {
				int base = 1;
				for (int j = 0; j < i; j++) base = base*mod;
				if (r < R[i]) tmp += 0*base; //south
				else if (r == R[i] && c == C[i]) tmp += 0*base;
				else if (c >= C[i]) tmp += 1*base; //west
				else tmp += 2*base; //west
				//~ cerr << tmp/base << " ";
			}
			SetFlag(r, c, tmp+1);
			//~ cerr << endl;
		}
		//~ cerr << endl;
	}
}
#include "Bruno.h"
#include <bits/stdc++.h>

using namespace std;

namespace {

int mod = 3;

} // namespace

std::vector<int> Bruno(int K, std::vector<int> value) {
	vector<int> res(K, 0);
	for (int i = 0; i < 9; i++) value[i]--;
	for (int i = 0; i < K; i++) {
		vector<int> value2(9);
		for (int j = 0; j < 9; j++) {
			value2[j] = value[j]%mod;
			value[j] /= mod;
			//~ cerr << value2[j] << " ";
		}
		//~ cerr << endl;
		//~ cerr << value2[4] << " " << value2[3] << " " << value2[5] << endl;
		if (value2[4] == 0 && value2[3] != 0 && value2[5] != 0) res[i] = 4; //correct
		else if (value2[4] == 0) res[i] = 2;
		else if (value2[4] == 2) res[i] = 0;
		else { //1
			if (value2[3] == 2) res[i] = 3;
			else res[i] = 1;
		}
		//~ cerr << res[i] << endl;
	}
	return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...