#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int findSample(int n, int con[], int hos[], int pro[]){
int pow[15];
pow[0] = 1;
for(int i=1; i<=10; i++){pow[i] = 2*pow[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);
}
}
}
int ans = 0;
for(int i=1; i<pow[n]; i++){
int k = i;
for(int j=0; j<n; i++){cnt[j]=0;}
for(int j=n-1; j>=0; j--){
if(k>=pow[j]){cnt[j] = 1; k-=pow[j];}
}
int tru=1;
int sum=0;
for(int i=0; i<n; i++){
if(cnt[i]==1){
sum += con[i];
for(auto x: adj[i]){
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... |