Submission #23703

#TimeUsernameProblemLanguageResultExecution timeMemory
23703Hiasat친구 (IOI14_friend)C++14
0 / 100
0 ms3220 KiB
#include "friend.h"
#include <bits/stdc++.h>

using namespace std;

vector<int> adj[1002];

int c[1002];

int f[2];

void dfs(int u , int color){
	if(c[u] != -1){
		assert(c[u] == color);
		return;
	}
	c[u] = color;
	f[color]++;
	for (int i = 0; i < adj[u].size(); ++i){
		dfs(adj[u][i],!color);
	}
}
int findSample(int n,int confidence[],int host[],int protocol[]){
	memset(c,-1,sizeof c);
	for(int i = 1 ; i <= n-1; i++){
		if(protocol[i] == 0){
			adj[host[i]].push_back(i);
			adj[i].push_back(host[i]);
		}
		if(protocol[i] == 1){
			for(int j = 0 ; j < adj[host[i]].size();j++){
				int v = adj[host[i]][j];
				adj[v].push_back(i);
				adj[i].push_back(v);
			}
		}
	}	
	int ans = 0;
	for (int i = 0; i < n; ++i){
		if(c[i] != -1)
			continue;
		memset(f,0,sizeof f);
		dfs(i,0); 
		ans += max(f[0],f[1]);
	}
	return ans;
}

Compilation message (stderr)

friend.cpp: In function 'void dfs(int, int)':
friend.cpp:19:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < adj[u].size(); ++i){
                    ^
friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:31:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int j = 0 ; j < adj[host[i]].size();j++){
                      ^
#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...