reginakxl @ 2023-12-02 16:22:02
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;
}
by _YTY_ @ 2023-12-02 16:28:35
有可能是因为O2
by reginakxl @ 2023-12-02 16:44:34
@YTY 好像不是O2,是输入(泪),long long类型洛谷不让用%d只能用%lld(就这个找了我半个小时啊啊啊)
by cz2010124 @ 2024-05-02 20:50:52
@reginakxl 建议在编译选项中加上 -Wall