社区讨论

求调84pts(玄关)

P2016[SEERC 2000] 战略游戏参与者 2已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@mhjhvo3a
此快照首次捕获于
2025/11/04 02:49
4 个月前
此快照最后确认于
2025/11/04 02:49
4 个月前
查看原帖
样例对的,第一个点WA了,其他全部AC(我特判了才对)。
CPP
#include<bits/stdc++.h>
#define N 5010
#define int long long
using namespace std;
int f[N][N],fa[N],n,a,b,z;
vector<int> s[N];
void dfs(int x) {
	f[x][0]=0;
	f[x][1]=1;
	if(s[x].size()==0) {
		return;
	}
	for(int i=0;i<s[x].size();i++) {
		int y=s[x][i];
		dfs(y);
		f[x][0]+=f[y][1];
		f[x][1]+=min(f[y][1],f[y][0]);
	}
}
signed main() {
	cin>>n;
	for(int i=1;i<=n;i++) {
		cin>>a>>b;
		a++;
		for(int j=1;j<=b;j++) {
			cin>>z;
			z++;
			s[a].push_back(z);
			fa[z]=1;
		}
	}
	int r;
	for(int i=1;i<=n;i++) {
		fa[i]==0;
 		r=i;
 		break;
	}
	dfs(r);
    cout<<min(f[r][0],f[r][1]);
	return 0;
}
如果调对保证关注。

回复

7 条回复,欢迎继续交流。

正在加载回复...