제출 #131578

#제출 시각아이디문제언어결과실행 시간메모리
131578MrTEKMeetings (JOI19_meetings)C++14
29 / 100
3038 ms3804 KiB
#include "meetings.h" #include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef pair <int,int> ii; const int N = 2e3 + 5; vector <int> v; int mark[N][N],d[N][N]; void bridge(int x,int y) { Bridge(min(x,y),max(x,y)); } void solve(vector <int> v) { if (v.size() < 2) return; if (v.size() == 2) { bridge(v[0],v[1]); return; } for (int i = 1 ; i < v.size() ; i++) { if (mark[v[0]][i]) continue; vector <int> nv; nv.push_back(i); mark[v[0]][i] = 1; for (int j = i + 1 ; j < v.size() ; j++) if (mark[v[0]][j] == 0) { int temp = Query(v[0],v[i],v[j]); if (temp != v[0]) { mark[v[0]][j] = 1; nv.push_back(j); if (temp != v[i]) d[v[0]][i] = 1; if (temp != v[j]) d[v[0]][j] = 1; } } vector <int> nv2,vec,vec2; for (auto i : nv) nv2.push_back(v[i]); for (auto j : nv) if (d[v[0]][j] == 0) vec.push_back(v[j]); while(vec.size() != 1) { vec2.clear(); for (int i = 0 ; i < vec.size() ; i += 2) { if (i + 1 >= vec.size()) vec2.push_back(vec[i]); else { int temp = Query(v[0],vec[i],vec[i + 1]); if (temp == vec[i]) vec2.push_back(vec[i]); if (temp == vec[i + 1]) vec2.push_back(vec[i + 1]); } } swap(vec,vec2); } bridge(vec[0],v[0]); solve(nv2); } } void Solve(int n) { for (int i = 0 ; i < n ; i++) v.push_back(i); solve(v); }

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

meetings.cpp: In function 'void solve(std::vector<int>)':
meetings.cpp:24:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 1 ; i < v.size() ; i++) {
                   ~~^~~~~~~~~~
meetings.cpp:30:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int j = i + 1 ; j < v.size() ; j++)
                        ~~^~~~~~~~~~
meetings.cpp:50:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (int i = 0 ; i < vec.size() ; i += 2) {
                              ~~^~~~~~~~~~~~
meetings.cpp:51:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 if (i + 1 >= vec.size())
                     ~~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...