Submission #456169

#TimeUsernameProblemLanguageResultExecution timeMemory
456169KhizriConnecting Supertrees (IOI20_supertrees)C++17
0 / 100
1089 ms16128 KiB
#include "supertrees.h" #include <bits/stdc++.h> #include <vector> using namespace std; #define ll long long #define pb push_back #define F first #define S second #define INF 1e18 #define all(v) (v).begin(),(v).end() #define rall(v) (v).rbegin(),(v).rend() #define pii pair<int,int> #define pll pair<ll,ll> #define OK cout<<"Ok"<<endl; #define MOD (ll)(1e9+7) vector<std::vector<int>> ans; vector<std::vector<int>>arr; int color[1005],n; void dfs(int u){ color[u]=1; for(int i=0;i<n;i++){ if(arr[u][i]==1&&!color[i]){ ans[u][i]=1; ans[i][u]=1; dfs(i); } } } int construct(std::vector<std::vector<int>> p) { arr=p; n = arr.size(); for (int i = 0; i < n; i++) { std::vector<int> row; row.resize(n); ans.push_back(row); } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ for(int k=0;k<n;k++){ if(i!=j&&j!=k&&i!=k&&(arr[i][k]==0||arr[k][j]==0)&&arr[i][j]==1){ return 0; } if(i!=j&&j!=k&&i!=k&&(arr[i][k]==1&&arr[k][j]==1)&&arr[i][j]==0){ return 0; } } } } for(int i=0;i<n;i++){ if(!color[i]){ dfs(i); } } build(ans); return 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...