#include "coloring.h"
#include <cstdio>
#include <algorithm>
using namespace std;
int m;
int arr[110], tarr[110];
void ColoringSame(int n){
int i, j, flag, l, r, mid, now = 1;
for(i = 1; i < min(33, n - 1); i++){
m = 0;
for(j = 2; j <= n; j++) if(!arr[j]) tarr[++m] = j;
l = 1; r = m;
while(l < r){
if(r == l) break;
if(r - l == 1){
Color(tarr[l]);
flag = GetColor(now);
if(flag) l = r;
break;
}
mid = (l + r) / 2;
for(j = l; j <= mid; j++) Color(tarr[j]);
flag = GetColor(now);
if(flag) l = mid + 1;
else r = mid;
}
arr[tarr[l]] = now; now = tarr[l];
}
for(i = 1; i < 67; i++){
Color(1);
for(j = 2; j <= n; j++){
if(arr[j]) continue;
Color(j);
}
}
while(now != 1) Color(now), now = arr[now];
return;
}
# |
결과 |
실행 시간 |
메모리 |
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 |
Incorrect |
0 ms |
1124 KB |
Output isn't correct |
17 |
Halted |
0 ms |
0 KB |
- |