Submission #1247348

#TimeUsernameProblemLanguageResultExecution timeMemory
1247348MateiKing80cmp (balkan11_cmp)C++20
Compilation error
0 ms0 KiB
#include "cmp.h"
#include <bits/stdc++.h>

int gib(int x, int bit) {
	if (x & (1 << bit))
		return 1;
	return 0;
}

void remember(int a) {
	bit_set(69 + (a & ((1 << 12) - (1 << 6))));
	for (int i = 0; i < 6; i ++) {
		int x = i * 4 + 1 + gib(a, 2 * i) + 2 * gib(a, 2 * i + 1);
		bit_set(x);
	}
}

int compare(int b) {
	if (bit_set(69 + (b & ((1 << 12) - (1 << 6))))) {
		for (int i = 2; i >= 0; i --) {
			int x = i * 4 + 1 + gib(b, 2 * i) + 2 * gib(b, 2 * i + 1);
			if (bit_get(x))
				continue;
			if (bit_get(i * 4 + 1 + gib(b, 2 * i) + 2 * (1 - gib(b, 2 * i + 1))) || bit_get(i * 4 + 1 + (1 - gib(b, 2 * i)) + 2 * (1 - gib(b, 2 * i + 1)))) {
				if (gib(b, 2 * i + 1))
					return 1;
				return -1;
			}
			if (gib(b, 2 * i))
				return 1;
			return -1;
		}
	} else {
		for (int i = 5; i >= 3; i --) {
			int x = i * 4 + 1 + gib(b, 2 * i) + 2 * gib(b, 2 * i + 1);
			if (bit_get(x))
				continue;
			if (bit_get(i * 4 + 1 + gib(b, 2 * i) + 2 * (1 - gib(b, 2 * i + 1))) || bit_get(i * 4 + 1 + (1 - gib(b, 2 * i)) + 2 * (1 - gib(b, 2 * i + 1)))) {
				if (gib(b, 2 * i + 1))
					return 1;
				return -1;
			}
			if (gib(b, 2 * i))
				return 1;
			return -1;
		}
	}
	return 0;
}

Compilation message (stderr)

cmp.cpp: In function 'int compare(int)':
cmp.cpp:19:20: error: could not convert 'bit_set((69 + (b & ((1 << 12) - (1 << 6)))))' from 'void' to 'bool'
   19 |         if (bit_set(69 + (b & ((1 << 12) - (1 << 6))))) {
      |             ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    |
      |                    void