제출 #160595

#제출 시각아이디문제언어결과실행 시간메모리
160595DanerZeinSplit the Attractions (IOI19_split)C++14
11 / 100
133 ms13304 KiB
#include "split.h"
#include <bits/stdc++.h>
using namespace std;
typedef vector<int> vi;
vector<vi>G;
vi r,res;
int vis[100010];
int ba,na;
void dfs(int u){
  if(ba==0) return;
  ba--;
  vis[u]=1;
  res[u]=2;
  r.push_back(u);
  for(int i=0;i<G[u].size();i++){
    if(vis[G[u][i]]==0){
      if(ba==0) na=G[u][i];
      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);
  ba=b;
  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]);
  }
  res.resize(n);
  dfs(0);
  bool sw=0;
  for(int i=0;i<r.size();i++){
    res[r[i]]=2;
  }
  res[na]=1;
  for(int i=0;i<n;i++){
    // cout<<res[i]<<" ";
    if(res[i]==0) res[i]=3;
  }
  // cout<<endl;
  return res;
}

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

split.cpp: In function 'void dfs(int)':
split.cpp:15: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:27:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<p.size();i++){
               ~^~~~~~~~~
split.cpp:34:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<r.size();i++){
               ~^~~~~~~~~
split.cpp:33:8: warning: unused variable 'sw' [-Wunused-variable]
   bool sw=0;
        ^~
#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...