제출 #397170

#제출 시각아이디문제언어결과실행 시간메모리
397170keta_tsimakuridzeBosses (BOI16_bosses)C++14
67 / 100
1523 ms960 KiB
#include<bits/stdc++.h>
#define f first
#define int long long
#define s second
using namespace std;
const int N=5005,mod=1e9+7,Inf=1e16;
int t,n,fix[N],sum;
queue<int> q;
vector<int>V_[N],V[N];
string s;
int dfs(int u){
	int c = 0;
	for(int i=0;i<V_[u].size();i++){
		c+=dfs(V_[u][i]);
	}
	sum+=c+1;
	return c+1;
}
 main(){
	// t=1;
	cin >> n;
	for(int i=1;i<=n;i++){
		int c,a;
		cin >> c;
		while(c--){
			cin>>a;
			V[a].push_back(i);
		}
	}
	int ans = Inf;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			V_[j].clear();
			fix[j] = 0;
		}
		q.push(i);
		fix[i]=1; 
		int cnt = 0;
		while(q.size()) { 
			int u=q.front();  
			q.pop();
			cnt++;
			for(int j=0;j<V[u].size();j++){
				if(!fix[V[u][j]]) { 
					fix[V[u][j]] = 1;
					V_[u].push_back(V[u][j]);
					q.push(V[u][j]);
				}
			}
		} 
		sum = 0;
		dfs(i);
		if(cnt==n) ans=min(ans,sum);
	}
	cout<<ans;
}

컴파일 시 표준 에러 (stderr) 메시지

bosses.cpp: In function 'long long int dfs(long long int)':
bosses.cpp:13:15: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |  for(int i=0;i<V_[u].size();i++){
      |              ~^~~~~~~~~~~~~
bosses.cpp: At global scope:
bosses.cpp:19:7: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   19 |  main(){
      |       ^
bosses.cpp: In function 'int main()':
bosses.cpp:43:17: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |    for(int j=0;j<V[u].size();j++){
      |                ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...