Submission #101252

#TimeUsernameProblemLanguageResultExecution timeMemory
101252cheehengICC (CEOI16_icc)C++14
0 / 100
3 ms384 KiB
#include "icc.h"
#include <bits/stdc++.h>
using namespace std;

//int query(int a,int b,int* A,int *B);
//void setRoad(int a,int b);

int a[105];
int b[105];
int P[105];

bool hasEdge[105][105];

void run(int n) {
    for(int i = 0; i < n; i ++){
        P[i] = i+1;
    }

    for(int k = 1; k < n; k ++){
        for(int i = 1; i <= n; i ++){
            int cnt = 0;
            for(int j = i; j <= n; j ++){
                if(!hasEdge[j][i]){
                    b[cnt++] = j;
                }
            }
            a[0] = i;
            if(query(1, cnt, a, b)){
                for(int j = i; j <= n; j ++){
                    b[0] = j;
                    if(!hasEdge[j][i]){
                        if(query(1, 1, a, b)){
                            hasEdge[j][i] = true;
                            hasEdge[i][j] = true;
                            //printf("%d %d\n", i, j);
                            setRoad(i, j);
                        }
                    }
                }
                break;
            }
            assert(i != n);
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...