제출 #788353

#제출 시각아이디문제언어결과실행 시간메모리
788353mindiyak게임 (IOI14_game)C++14
0 / 100
1 ms384 KiB
#include "game.h" #include <iostream> #include <vector> #include <set> using namespace std; int N; vector<int> parents(1502); vector<int> connected(1502,0); vector<set<int>> asked(1502,set<int>()); int find_parent(int pos){ if(parents[pos] == pos){ return pos; }return find_parent(parents[pos]); } void initialize(int n) { for(int i=0;i<n;i++){ parents[i] = i; asked[i].insert(i); } N = n; } int hasEdge(int u, int v) { if(u==v){ return 1; } if(asked[u].size()<asked[v].size()){ swap(u,v); } // cout << "u size " << asked[u].size() << " " << u << " " << v << " " << find_parent(u) << endl; if(asked[u].size() == N){ if(find_parent(u) == v) return 1; return 0; } if(asked[u].size() == N-1){ parents[u] = v; asked[u].insert(v); asked[v].insert(u); return 1; } asked[u].insert(v); asked[v].insert(u); return 0; }

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

game.cpp: In function 'int hasEdge(int, int)':
game.cpp:35:24: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   35 |     if(asked[u].size() == N){
      |        ~~~~~~~~~~~~~~~~^~~~
game.cpp:40:24: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   40 |     if(asked[u].size() == N-1){
      |        ~~~~~~~~~~~~~~~~^~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...