제출 #1216518

#제출 시각아이디문제언어결과실행 시간메모리
1216518LeonidCuk슈퍼트리 잇기 (IOI20_supertrees)C++20
컴파일 에러
0 ms0 KiB
#include "supertrees.h"
#include <bits/stdc++.h>
using namespace std;
vector<bool>vis;
vector<int>dsu(1000);
int vfind(int a)
{
    if(dsu[a]==a)return a;
    return dsu[a]=vfind(dsu[a]);
}
void dfs(int i,vector<vector<int>>&p,vector<vector<int>>&res)
{
    int n=p.size();
    vis[i]=true;
    for(int j=0;j<n;j++)
    {
        if(i==j)continue;
        if(p[i][j]==1&&vis[j]==0)
        {
            res[i][j]=1;
            res[j][i]=1;
            dfs(j,p,res);
        }
    }
}
int construct(vector<vector<int>> p)
{
    int n=p.size();
    vis.resize(n);
    for(int i=0;i<n;i++)
    {
        dsu[i]=i;
        for(int j=0;j<n;j++)
        {
            if(p[i][j]==3)return 0;
        }
    }
    for(int i=0;i<n;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            for(int z=j+1;z<n;z++)
            {
                if(p[i][j]!=1&&p[j][z]==1&&p[i][z]==1)return 0;
                if(p[i][j]==1&&p[j][z]==1&&p[i][z]!=1)return 0;
                if(p[i][j]==1&&p[j][z]!=1&&p[i][z]==1)return 0;
            }
            int a=dsu[i],b=dsu[j];
            dsu[b]=a;
        }
    }
    vector<vector<int>>res(n,vector<int>(n)),v(n);
    for(int i=0;i<n;i++)
    {
        if(vis[i]==0)
        {
            dfs(i,p,res);
            v[dsu[i]].push_back(i);
        }
    }
    for(int i=0;i<n;i++)
    {
        if(v[i].size()==2)return 0
        int a=v[i].size()-1;
        res[v[i][a]][v[i][0]]=1;
        res[v[i][0]][v[i][a]]=1;
        for(int j=1;j<v[i].size();j++)
        {
            res[v[i][j]][v[i][j-1]]=1;
            res[v[i][j-1]][v[i][j]]=1;
        }
    }
    build(res);
    return 1;

}

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

supertrees.cpp: In function 'int construct(std::vector<std::vector<int> >)':
supertrees.cpp:63:35: error: expected ';' before 'int'
   63 |         if(v[i].size()==2)return 0
      |                                   ^
      |                                   ;
   64 |         int a=v[i].size()-1;
      |         ~~~