Submission #803521

# Submission time Handle Problem Language Result Execution time Memory
803521 2023-08-03T04:44:23 Z Warinchai Connecting Supertrees (IOI20_supertrees) C++14
11 / 100
156 ms 27872 KB
#include "supertrees.h"
#include <vector>
#include<bits/stdc++.h>
using namespace std;
int sz;
vector<vector<int> >v;
vector<vector<int> >ans;
int pr[1005];
int fp(int a){
    if(pr[a]==a){
        return a;
    }
    return pr[a]=fp(pr[a]);
}
void un(int a,int b){
    if(fp(a)!=fp(b)){
        ans[a][b]=1;
        ans[b][a]=1;
        pr[fp(b)]=fp(a);
    }
}
bool build_1(){
    for(int i=0;i<sz;i++){
        for(int j=i+1;j<sz;j++){
            if(v[i][j]==1){
                un(i,j);
            }else if(v[i][j]==0){
                if(fp(i)==fp(j)){
                    return 0;
                }
            }
        }
    }
    return 1;
}
int construct(vector<vector<int> > p) {
    //cout<<"work"<<endl;
	sz = p.size();
    bool check=0;
    v.resize(sz);
    for(int i=0;i<sz;i++){
        v[i].resize(sz);
    }
    for(int i=0;i<sz;i++){
        for(int j=0;j<sz;j++){
            //cout<<"i j "<<i<<" "<<j<<endl;
            v[i][j]=p[i][j];
            if(p[i][j]!=p[j][i]||(i==j&&p[i][j]!=1)){
                check=1;
                //cout<<"break"<<endl;
                break;
            }
        }
    }
    //cout<<"work"<<endl;
    if(check){
        return 0;
    }
    //cout<<"work"<<endl;
    ans.resize(sz);
    for(int i=0;i<sz;i++){
        ans[i].resize(sz);
    }
    for(int i=0;i<sz;i++){
        pr[i]=i;
    }
    //cout<<"work"<<endl;
    if(!build_1()){
        return 0;
    }else{
        build(ans);
    }
	//cout<<"ans:"<<endl;
	return 1;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 7 ms 1336 KB Output is correct
7 Correct 156 ms 27852 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 7 ms 1336 KB Output is correct
7 Correct 156 ms 27852 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 300 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 7 ms 1400 KB Output is correct
13 Correct 156 ms 27872 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 3 ms 980 KB Output is correct
17 Correct 66 ms 17920 KB Output is correct
18 Incorrect 0 ms 212 KB Answer gives possible 1 while actual possible 0
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Incorrect 1 ms 212 KB Answer gives possible 1 while actual possible 0
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Incorrect 0 ms 212 KB Too few ways to get from 0 to 1, should be 2 found 0
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 7 ms 1336 KB Output is correct
7 Correct 156 ms 27852 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 300 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 7 ms 1400 KB Output is correct
13 Correct 156 ms 27872 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 3 ms 980 KB Output is correct
17 Correct 66 ms 17920 KB Output is correct
18 Incorrect 0 ms 212 KB Answer gives possible 1 while actual possible 0
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 1 ms 212 KB Output is correct
6 Correct 7 ms 1336 KB Output is correct
7 Correct 156 ms 27852 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 1 ms 300 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 7 ms 1400 KB Output is correct
13 Correct 156 ms 27872 KB Output is correct
14 Correct 1 ms 212 KB Output is correct
15 Correct 1 ms 212 KB Output is correct
16 Correct 3 ms 980 KB Output is correct
17 Correct 66 ms 17920 KB Output is correct
18 Incorrect 0 ms 212 KB Answer gives possible 1 while actual possible 0
19 Halted 0 ms 0 KB -