Submission #30012

#TimeUsernameProblemLanguageResultExecution timeMemory
30012gabrielsimoesAmusement Park (JOI17_amusement_park)C++14
18 / 100
28 ms5972 KiB
#include <bits/stdc++.h>
#include "Joi.h"
using namespace std;

typedef long long ll;

void Joi(int N, int M, int A[], int B[], ll X, int T) {
	vector<bool> bits;
	while (X) {
		bits.push_back(X&1);
		X >>= 1;
	}

	reverse(bits.begin(), bits.end());

	for (int i = 0, k = 0; i < N; i++) {
		if (i+bits.size() < N) MessageBoard(i, 0);
		else MessageBoard(i, bits[k++]);
	}
}
#include <bits/stdc++.h>
#include "Ioi.h"
using namespace std;

typedef long long ll;

ll Ioi(int N, int M, int A[], int B[], int P, int V, int T) {
	vector<int> g[N];
	for (int i = 0; i < M; i++) {
		g[A[i]].push_back(B[i]);
		g[B[i]].push_back(A[i]);
	}

	vector<bool> val(N);
	vector<bool> visisted(N);

	val[P] = V;

	function<void(int)> dfs;
	dfs = [&](int cur) {
		// cout << "dfs " << cur << endl;
		visisted[cur] = true;
		for (int nx : g[cur]) {
			if (visisted[nx]) continue;
			val[nx] = Move(nx);
			dfs(nx);
			Move(cur);
		}
	};

	dfs(P);

	// for (int i = 0; i < N; i++)
	// 	cout << "val[" << i << "]: " << val[i] << endl;

	ll ans = 0;
	for (int i = 0; i < N; i++) {
		ans <<= 1;
		ans |= (int) val[i];
	}

	return ans;
}

Compilation message (stderr)

Joi.cpp: In function 'void Joi(int, int, int*, int*, ll, int)':
Joi.cpp:17:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (i+bits.size() < N) MessageBoard(i, 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...
#Verdict Execution timeMemoryGrader output
Fetching results...