제출 #58045

#제출 시각아이디문제언어결과실행 시간메모리
58045MatheusLealVICC (CEOI16_icc)C++17
7 / 100
498 ms784 KiB
#include "icc.h" #define N 105 #include <bits/stdc++.h> using namespace std; set<int> grafo[N]; int pai[N], peso[N]; int Find(int x) { if(x == pai[x]) return x; return pai[x] = Find(pai[x]); } void join(int a, int b) { a = Find(a), b = Find(b); if(a == b) return; if(peso[a] > peso[b]) pai[b] = a; else if(peso[a] < peso[b]) pai[a] = b; else pai[a] = b, peso[b] ++; } void run(int n) { for(int i = 1; i <= n; i++) { pai[i] = i; } for(int i = 1; i < n; i++) { vector<int> ok; vector<int> valores, aux; for(int a = 1; a <= n; a++) valores.push_back(a); random_shuffle(valores.begin(), valores.end()); for(auto a: valores) { int esq[N], dir[N], id = 0; if(ok.size() >= 1) break; esq[0] = a; for(int b = 1; b <= n; b++) { if(Find(a) != Find(b)) { dir[id] = b; id ++; } } if(query(1, id, esq, dir) > 0) { ok.push_back(a); break; } } for(int a = 1; a <= n; a++) { if(Find(a) != Find(ok[0])) { aux.push_back(a); // cout<<"COLOCA "<<a<<'\n'; } } int ini = 0, fim = aux.size() - 1, mid, best; while(fim >= ini) { mid = (ini + fim)/2; int esq[N], dir[N]; esq[0] = ok[0]; for(int i = 0; i <= mid; i++) dir[i] = aux[i]; //cout<<mid<<" "<<query(1, mid + 1, esq, dir)<<"\n"; if(query(1, mid + 1, esq, dir)) { best = mid; fim = mid - 1; } else ini = mid + 1; } // cout<<"ROAD "<<ok[0]<<" "<<aux[best]<<"\n"; join(ok[0], aux[best]); setRoad(ok[0], aux[best]); } }

컴파일 시 표준 에러 (stderr) 메시지

icc.cpp: In function 'void run(int)':
icc.cpp:109:33: warning: 'best' may be used uninitialized in this function [-Wmaybe-uninitialized]
             join(ok[0], aux[best]);
                                 ^
#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...