#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int findSample(int n, int con[], int hos[], int pro[]){
int po[15];
po[0] = 1;
int tru=1;
int sum=0;
int ans = 0;
for(int i=1; i<=10; i++){po[i] = 2*po[i-1];}
vector<int> adj[20];
int cnt[20];
for(int i=1; i<n; i++){
if(pro[i]==0||pro[i]==2){adj[i].push_back(hos[i]); adj[hos[i]].push_back(i); }
if(pro[i]>0){
for(auto x: adj[hos[i]]){
adj[i].push_back(x); adj[x].push_back(i);
}
}
}
for(int i=1; i<po[n]; i++){
int k = i;
tru=1;
sum=0;
for(int j=0; j<n; j++){cnt[j]=0;}
for(int j=n-1; j>=0; j--){
if(k>=po[j]){cnt[j] = 1; k -= po[j];}
}
for(int j=0; j<n; j++){
if(cnt[j]==1){
sum += con[j];
for(auto x: adj[j]){
if(cnt[x]==1){tru=0; }
}
}
}
if(tru==1){ans = max(ans, sum);}
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |