답안 #44625

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
44625 2018-04-03T23:13:38 Z MatheusLealV 질문 (CEOI14_question_grader) C++17
100 / 100
1685 ms 79240 KB
#include <bits/stdc++.h>
#define f first
#define s second
using namespace std;
typedef pair<int, int> pii;

int g = 0, Nmax = 0;

vector<int> v;

void gerar()
{
	if(g) return;

	for(int val = 1; val < (1<<12); val ++)
	{
		int l = 0, r = 0;

		for(int bit = 0; bit < 12; bit ++)
		{
			if( (val & (1<<bit)) && bit >= 6) l++;

			if( !(val & (1<<bit)) && bit < 6) r++;
		}

		if(l == r) v.push_back(val);
	}

	g = true;
}

int encode (int n, int x, int y)
{
    gerar();

    x = v[x], y = v[y];

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

#include <bits/stdc++.h>
#define f first
#define s second
using namespace std;
typedef pair<int, int> pii;

int g = 0, Nmax = 0;

vector<int> v;

void gerar()
{
	if(g) return;

	for(int val = 1; val < (1<<12); val ++)
	{
		int l = 0, r = 0;

		for(int bit = 0; bit < 12; bit ++)
		{
			if( (val & (1<<bit)) && bit >= 6) l++;

			if( !(val & (1<<bit)) && bit < 6) r++;
		}

		if(l == r) v.push_back(val);
	}

	g = true;
}

int decode (int n, int q, int h)
{
	gerar();

	h--;

	int val = v[q];

    if(val & (1<<h)) return 1;

    return 0;
}

Compilation message

encoder.cpp: In function 'int encode(int, int, int)':
encoder.cpp:42:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1682 ms 78832 KB Output is correct - maxh = 12
2 Correct 1685 ms 79240 KB Output is correct - maxh = 12