Submission #1015452

#TimeUsernameProblemLanguageResultExecution timeMemory
1015452amirhoseinfar1385Friend (IOI14_friend)C++17
0 / 100
16 ms2908 KiB
#include "friend.h"
#include<bits/stdc++.h>
using namespace std;
const int maxn=10+10;
vector<int>adj[maxn];
int all[maxn];

// Find out best sample
int findSample(int n,int confidence[],int host[],int protocol[]){
	for(int i=1;i<n;i++){
		all[i]=confidence[i];
		if(protocol[i]==0){
			adj[i].push_back(host[i]);
			adj[host[i]].push_back(i);
		}else if(protocol[i]==1){
			for(auto x:adj[host[i]]){
				adj[i].push_back(x);
				adj[x].push_back(i);
			}
		}else{
			adj[i].push_back(host[i]);
			adj[host[i]].push_back(i);
			for(auto x:adj[host[i]]){
				adj[i].push_back(x);
				adj[x].push_back(i);
			}
		}
	}
	all[0]=confidence[0];
	int res=0;
	for(int i=1;i<(1<<n);i++){
		int f=0;
		for(int j=0;j<n;j++){
			if((i>>j)&1){
				for(auto x:adj[j]){
					if(((i>>x)&1)==1){
						f=1;
					}
				}
			}
		}
		if(f==0){
			int fake=0;
			for(int j=0;j<n;j++){
				if((i>>j)&1){
					fake+=all[j];
				}
			}
			res=max(res,fake);
		}
	}
	return res;
}
#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...