제출 #160585

#제출 시각아이디문제언어결과실행 시간메모리
160585DanerZeinSplit the Attractions (IOI19_split)C++14
7 / 100
121 ms13116 KiB
#include "split.h"
#include <bits/stdc++.h>
using namespace std;
typedef vector<int> vi;
vector<vi>G;
vi r;
int vis[100010];
void dfs(int u){
  vis[u]=1;
  r.push_back(u);
  for(int i=0;i<G[u].size();i++){
    if(vis[G[u][i]]==0){
      dfs(G[u][i]);
    }
  }
}
vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
  // r.resize(n);
  G.resize(n);
  for(int i=0;i<p.size();i++){
    G[p[i]].push_back(q[i]);
    G[q[i]].push_back(p[i]);
  }
  dfs(0);
  vi res;
  res.resize(n);
  int at=1;
  for(int i=0;i<r.size();i++){
    // cout<<r[i]<<" ";
    res[r[i]]=at;
    if(at==1) a--;
    if(at==2) b--;
    if(at==3) c--;
    if(a==0) {at=2;
      a=-1;
    }
    if(b==0) at=3;
  }
  //cout<<endl;
  return res;
}

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

split.cpp: In function 'void dfs(int)':
split.cpp:11:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<G[u].size();i++){
               ~^~~~~~~~~~~~
split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:20:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<p.size();i++){
               ~^~~~~~~~~
split.cpp:28:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<r.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...