Submission #1216426

#TimeUsernameProblemLanguageResultExecution timeMemory
1216426boris_mihovQuestion (Grader is different from the original contest) (CEOI14_question_grader)C++20
100 / 100
718 ms39776 KiB
/*
	nice
*/

static const int MAXN = 920 + 5;

static bool isBuilt;
static int respectiveNumber[MAXN];

int encode (int n, int x, int y)
{
	if (!isBuilt)
	{
		isBuilt = true;
		int ptr = 1;
		for (int mask = 0 ; mask < (1 << 12) ; ++mask)
		{
			if (__builtin_popcount(mask) != 6)
			{
				continue;
			}

			respectiveNumber[ptr++] = mask;
		}
	}

	for (int bit = 0 ; bit < 12 ; ++bit)
	{
		if ((respectiveNumber[x] & (1 << bit)) && !(respectiveNumber[y] & (1 << bit)))
		{
			return bit + 1;
		}
	}
}

static const int MAXN = 920 + 5;

static bool isBuilt;
static int respectiveNumber[MAXN];

int decode (int n, int x, int y)
{
	if (!isBuilt)
	{
		isBuilt = true;
		int ptr = 1;
		for (int mask = 0 ; mask < (1 << 12) ; ++mask)
		{
			if (__builtin_popcount(mask) != 6)
			{
				continue;
			}

			respectiveNumber[ptr++] = mask;
		}
	}

	if (respectiveNumber[x] & (1 << y - 1)) return 1;
	else return 0;
}

Compilation message (stderr)

# 1번째 컴파일 단계

encoder.cpp: In function 'int encode(int, int, int)':
encoder.cpp:34:1: warning: control reaches end of non-void function [-Wreturn-type]
   34 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...