Submission #24638

#TimeUsernameProblemLanguageResultExecution timeMemory
24638jiangzhiICC (CEOI16_icc)C++11
0 / 100
0 ms2052 KiB
#include <cstdio> #include <vector> #include <algorithm> #include "icc.h" using namespace std; const int N = 110; int a[N]; int size_a; int b[N]; int size_b; int t1[N]; int size_t1; int t2[N]; int size_t2; vector<int> aux[N]; void run(int n){ vector<int> total; for(int i = 1; i <= n; i++){ total.push_back(i); aux[i].push_back(i); } for(int i = 1; i <= n - 1; i++){ while(1){ random_shuffle(total.begin(),total.end()); size_a = 0; size_b = 0; for(int i = 0; i < n; i++){ if(i%2==0){ for(int j = 0; j < aux[total[i]].size(); j++){ a[size_a++]=aux[total[i]][j]; } } else{ for(int j = 0; j < aux[total[i]].size(); j++){ b[size_a++]=aux[total[i]][j]; } } } if(query(size_a,size_b,a,b))break; } while(size_a!=1){ for(int i = 0; i < size_a; i++){ if(i%2==0){ t1[size_t1++]=a[i]; } else{ t2[size_t2++]=a[i]; } } if(query(size_t1,size_b,t1,b)){ size_a=size_t1; for(int i = 0; i < size_t1; i++){ a[i]=t1[i]; } } else{ size_a=size_t2; for(int i = 0; i < size_t2; i++){ a[i]=t2[i]; } } } while(size_b!=1){ for(int i = 0; i < size_b; i++){ if(i%2==0){ t1[size_t1++]=b[i]; } else{ t2[size_t2++]=b[i]; } } if(query(size_a,size_t1,a,t1)){ size_b=size_t1; for(int i = 0; i < size_t1; i++){ b[i]=t1[i]; } } else{ size_b=size_t2; for(int i = 0; i < size_t2; i++){ b[i]=t2[i]; } } } setRoad(a[0],b[0]); int val; if(aux[a[0]].size()>aux[b[0]].size()){ for(int i = 0; i < aux[b[0]].size(); i++){ aux[a[0]].push_back(aux[b[0]][i]); } aux[b[0]].clear(); val = b[0]; } else{ for(int i = 0; i < aux[a[0]].size(); i++){ aux[b[0]].push_back(aux[a[0]][i]); } aux[a[0]].clear(); val = a[0]; } vector<int>total2; for(int i = 0; i < total.size(); i++){ if(total[i]!=val)total2.push_back(total[i]); } total = total2; } }

Compilation message (stderr)

icc.cpp: In function 'void run(int)':
icc.cpp:35:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
      for(int j = 0; j < aux[total[i]].size(); j++){
                       ^
icc.cpp:40:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
      for(int j = 0; j < aux[total[i]].size(); j++){
                       ^
icc.cpp:94:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int i = 0; i < aux[b[0]].size(); i++){
                     ^
icc.cpp:101:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int i = 0; i < aux[a[0]].size(); i++){
                     ^
icc.cpp:108:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 0; i < total.size(); i++){
                    ^
#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...