Submission #27261

# Submission time Handle Problem Language Result Execution time Memory
27261 2017-07-12T02:23:06 Z 검수컵(#1129) 1-Color Coloring (FXCUP2_coloring) C++
1 / 1
0 ms 1124 KB
#include "coloring.h"

int N, chk[101], remain[101];
int pvcn = 28, prevs[101];

int get_prv(int ix){
	int rcn=0;
	for(int i=1; i<=N; i++){
		if(!chk[i]) remain[rcn++] = i;
	}
	int mi=0, mx=rcn-1, md;
	while(1){
		md = (mi+mx-1)/2;
		if(mi >= mx){ md = mi; break; }
		for(int i=mi; i<=md; i++) Color(remain[i]);
		if(!GetColor(ix)) mx = md;
		else mi = md+1;
	}
	return remain[md];
}

void ColoringSame(int N_){
	N = N_;

	int pv = 1; chk[1] = 1;
	for(int i=0; i<pvcn; i++){
		prevs[i] = pv = get_prv(pv), chk[pv] = 1;
		if(i == N-2){
			Color(1);
			for(int k=N-2; k>=0; k--) Color(prevs[k]);
			return;
		}
	}

	int rcn=0;
	for(int i=1; i<=N; i++){
		if(!chk[i]) remain[rcn++] = i;
	}
	Color(1);
	for(int i=0; i<rcn; i++) Color(remain[i]);
	int cur = 1;
	for(int i=0; i<rcn-2; i++){
		Color(remain[0]);
		for(int j=0; j<rcn-2; j++){
			Color(remain[cur]); cur++;
			if(cur == rcn) cur = 1;
		}
	}
	Color(remain[0]); Color(remain[cur]);

	for(int i=pvcn-1; i>0; i--) Color(prevs[i]);
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1124 KB Output is correct
2 Correct 0 ms 1124 KB Output is correct
3 Correct 0 ms 1124 KB Output is correct
4 Correct 0 ms 1124 KB Output is correct
5 Correct 0 ms 1124 KB Output is correct
6 Correct 0 ms 1124 KB Output is correct
7 Correct 0 ms 1124 KB Output is correct
8 Correct 0 ms 1124 KB Output is correct
9 Correct 0 ms 1124 KB Output is correct
10 Correct 0 ms 1124 KB Output is correct
11 Correct 0 ms 1124 KB Output is correct
12 Correct 0 ms 1124 KB Output is correct
13 Correct 0 ms 1124 KB Output is correct
14 Correct 0 ms 1124 KB Output is correct
15 Correct 0 ms 1124 KB Output is correct
16 Correct 0 ms 1124 KB Output is correct
17 Correct 0 ms 1124 KB Output is correct
18 Correct 0 ms 1124 KB Output is correct
19 Correct 0 ms 1124 KB Output is correct
20 Correct 0 ms 1124 KB Output is correct
21 Correct 0 ms 1124 KB Output is correct
22 Correct 0 ms 1124 KB Output is correct
23 Correct 0 ms 1124 KB Output is correct
24 Correct 0 ms 1124 KB Output is correct
25 Correct 0 ms 1124 KB Output is correct