제출 #139854

#제출 시각아이디문제언어결과실행 시간메모리
1398542fat2codeBosses (BOI16_bosses)C++14
0 / 100
2 ms508 KiB
#include <bits/stdc++.h>
#define ll long long
#define all(a) (a).begin(), (a).end()
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#define sz() size()
#define fr first
#define sc second
#define pb push_back
#define er erase
#define in insert
#define pi pair<int,int>
#define pii pair<pair<int,int>,int>
#define mp make_pair
//#define int long long
#define rc(s) return cout<<s,0
#define rcc(s) cout<<s,exit(0)
//#define cin fin
//#define cout fout
using namespace std;
 
//ifstream fin("file.in");
//ofstream fout("file.out");
 
const int nmax=1e3+5;
const int mod=1e9+7;
const int mod1=998244353;
 
int n,k,x,root,cnt,viz[5005],ans=1e9,dp[5005];
vector<int>cop[5005];
vector<int>nod[5005];
 
void DFS(int s){
	viz[s]=1;
	for(auto it:nod[s]){
		if(!viz[it]) DFS(it);
	}
	for(auto it:nod[s]){
		dp[s]+=dp[it];
	}
	dp[s]++;
}
 
int32_t main(){
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	cin	>> n;
	for(int i=1;i<=n;i++){
		cin >> k;
		for(int j=1;j<=k;j++){
			cin >> x;
			cop[x].push_back(i);
		}
	}
	for(int i=1;i<=n;i++){
		int cnt=0;
		queue<int>q;
		q.push(i);
		for(int j=1;j<=n;j++){
			nod[j].clear();
			viz[j]=0;
		}
		viz[i]=1;
		while(!q.empty()){
			int x=q.front();
			for(auto it:cop[x]){
				if(!viz[it]){
					viz[it]=1;
					q.push(it);
					nod[x].push_back(it);
				}
			}
			q.pop();
		}
		for(int j=1;j<=n;j++){
			viz[j]=0;
			dp[j]=0;
		}
		DFS(i);
		int sum=0;
		for(int j=1;j<=n;j++){
			sum+=dp[j];
		}
		ans=min(ans,sum);
	}	
	rc(ans);
}	

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

bosses.cpp: In function 'int32_t main()':
bosses.cpp:56:7: warning: unused variable 'cnt' [-Wunused-variable]
   int cnt=0;
       ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...