답안 #26795

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
26795 2017-07-06T00:30:37 Z grands 비교 (balkan11_cmp) C++14
10 / 100
2204 ms 82768 KB
#include "cmp.h"

void remember(int n) {
	int front = n >> 6;
	int mask = (1 << 6) - 1;
	int back = n&mask;

	bit_set(front + 1);
	int i = 0;
	int loc = 10200;
	while (i < 6){
		bool F = (front & (1 << i));
		bool B = (back & (1 << i));
		if (F)
			bit_set(loc);
		if (B)
			bit_set(loc + 10);
		i++;
		loc++;
	}
}

int compare(int b) {
	int front = b >> 6;
	int mask = (1 << 6) - 1;
	int back = b&mask;
	if (!bit_get(front + 1)){
		//위에꺼 비교
		int loc = 10200;
		int a = 0;
		int r = 1;
		for (int i = 0; i < 6; i++)
		{
			if (bit_get(loc)){
				a += r;
			}
			r *= 2;
			loc++;
		}
		if (front != a){
			return front > a ? 1 : -1;
		}
	}
	else{
		//아래꺼 비교
		int loc = 10200 + 10;
		int a = 0;
		int r = 1;
		for (int i = 0; i < 6; i++)
		{
			if (bit_get(loc)){
				a += r;
			}
			r *= 2;
			loc++;
		}
		if (back != a){
			return back > a ? 1 : -1;
		}
	}
	return 0;
}

# 결과 실행 시간 메모리 Grader output
1 Partially correct 2204 ms 82768 KB Output is partially correct - maxAccess = 20, score = 10