제출 #953758

#제출 시각아이디문제언어결과실행 시간메모리
953758Trisanu_Das슈퍼트리 잇기 (IOI20_supertrees)C++17
0 / 100
153 ms24144 KiB
#include <bits/stdc++.h>
using namespace std;
#include "supertrees.h"
 
int n, par[1005];
 
int find(int u){
  if(par[u] == u) return u;
  par[u] = find(par[u]);
  return par[u];
}
 
void union_(int u, int v){
  par[find(u)] = find(v);
}
 
int construct(vector<vector<int> > p){
  n = p.size();
  for(int i = 0; i < n; i++) par[i] = i;
  vector<vector<int> > b(n, vector<int>(n));
  /*for(int i = 0; i < n; i++){
    for(int j = 0; j < n; j++){
      if(p[i][j] && find(i) != find(j)){
        union_(i, j);
        b[i][j] = b[j][i] = 1;
      }else if(p[i][j] == 3 || (!p[i][j] && find(i) == find(j))) return 0;
    }
  }*/
  
  for(int i = 0; i < n; i++){
        vector<int> v;
        v.push_back(par[i]);
        for(int j = i + 1; j < n; j++){
            if(p[i][j] == 2 && find(i) != find(j)){
                v.push_back(par[j]);
                union_(i, j);
            }
        }
        if(v.size() == 2) return 0;
        for(int k = 0; k + 1 < v.size(); k++) b[v[k]][v[k + 1]] = b[v[k + 1]][v[k]] = 1;
        b[v[0]][v[v.size() - 1]] = b[v[v.size() - 1]][v[0]] = 1;
    }
  for(int i = 0; i < n; i++) b[i][i] = 0;
  build(b);
  return 1;
} 

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

supertrees.cpp: In function 'int construct(std::vector<std::vector<int> >)':
supertrees.cpp:40:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |         for(int k = 0; k + 1 < v.size(); k++) b[v[k]][v[k + 1]] = b[v[k + 1]][v[k]] = 1;
      |                        ~~~~~~^~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...