全RE但是本地过了数据(?)
查看原帖
全RE但是本地过了数据(?)
464515
reginakxl楼主2023/12/2 16:22

RT,过了样例,第一个点下载了数据之后本地也是能跑出来的

#include<bits/stdc++.h>
#define LL long long
using namespace std;
LL n,cnt,f[1600][3],head[1600];
struct edge{
	LL to,nxt;
}e[3200];
void add(LL x,LL y){
	cnt++;
	e[cnt].to=y;
	e[cnt].nxt=head[x];
	head[x]=cnt;
}
void dfs(LL now,LL from){
	f[now][0]=0;f[now][1]=1;
	for(LL i=head[now];i;i=e[i].nxt){
		if(from==e[i].to){
			continue;
		}
		dfs(e[i].to,now);
		f[now][0]+=f[e[i].to][1];
		f[now][1]+=min(f[e[i].to][1],f[e[i].to][0]);
	}
}
int main(){
	memset(f,0x7f,sizeof(f));
	scanf("%d",&n);
	for(LL i=1;i<=n;i++){
		LL x,y,k;
		scanf("%d%d",&x,&y);
		for(LL j=1;j<=y;j++){
			scanf("%d",&k);
			add(x,k);
			add(k,x);
		}
	}
	dfs(0,-1);
	printf("%d\n",min(f[0][0],f[0][1]));
	return 0;
}
2023/12/2 16:22
加载中...