제출 #397712

#제출 시각아이디문제언어결과실행 시간메모리
397712ly20Split the Attractions (IOI19_split)C++17
컴파일 에러
0 ms0 KiB
#include "split.h" #include <bits/stdc++.h> using namespace std; const int MAXN = 112345; bool vl = false; int resp[MAXN]; vector <int> grafo[MAXN]; int p1, p2; int N; int marc[MAXN]; void dfs2(int v, int p) { vl = true; if(p1 > 0) { p1--; resp[v] = 1; } else return; marc[v] = 1; for(int i = 0; i < grafo[v].size(); i++) { int viz = grafo[v][i]; if(marc[viz] == 1) continue; dfs2(viz, v); } } void dfs3(int v, int p) { vl = true; if(p2 > 0) { p2--; resp[v] = 2; } else return; marc[v] = 1; for(int i = 0; i < grafo[v].size(); i++) { int viz = grafo[v][i]; if(marc[viz] == 1) continue; dfs3(viz, v); } } vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) { N = n; vector<int> res; int m = p.size(); p1 = a; p2 = b; for(int i = 0; i < m; i++) { int a1 = p[i], b1 = q[i]; grafo[a1].push_back(b1); grafo[b1].push_back(a1); } int id = 0, mn = n; for(int i = 0; i < n; i++) { if(grafo[i].size() < mn) { mn = grafo[i].size(); id = i; } } int viz = grafo[id][0]; dfs2(id); dfs3(viz); for(int i = 0; i < n; i++) { if(vl && resp[i] == 0) resp[i] = 3; res.push_back(resp[i]); } return res; }

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

split.cpp: In function 'void dfs2(int, int)':
split.cpp:19:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |     for(int i = 0; i < grafo[v].size(); i++) {
      |                    ~~^~~~~~~~~~~~~~~~~
split.cpp: In function 'void dfs3(int, int)':
split.cpp:33:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |     for(int i = 0; i < grafo[v].size(); i++) {
      |                    ~~^~~~~~~~~~~~~~~~~
split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:50:28: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   50 |         if(grafo[i].size() < mn) {
      |            ~~~~~~~~~~~~~~~~^~~~
split.cpp:56:12: error: too few arguments to function 'void dfs2(int, int)'
   56 |     dfs2(id);
      |            ^
split.cpp:11:6: note: declared here
   11 | void dfs2(int v, int p) {
      |      ^~~~
split.cpp:57:13: error: too few arguments to function 'void dfs3(int, int)'
   57 |     dfs3(viz);
      |             ^
split.cpp:25:6: note: declared here
   25 | void dfs3(int v, int p) {
      |      ^~~~