关于在校却回家的同学
查看原帖
关于在校却回家的同学
231543
bloodstalk楼主2023/3/5 21:06
n = read();
	for(re int i=1;i<=n;i++) sch[i] = read();
	for(re int i=1;i<=n;i++) { go[i] = read(); if(go[i] && sch[i]) cnt++; }
	for(re int i=1;i<=n;i++)
		for(re int j=1;j<=n;j++)
		{
			know = read();
			if(i == j) { if(sch[i] && !go[i]) add(i,i+n); continue; }
			if(know && sch[j]) add(i,j+n);
		}
	for(re int i=1;i<=n;i++)
	{
		//if(sch[i] && go[i]) continue;
		memset(vis , 0 , sizeof vis);
		if(dfs(i)) ans++;
	}
	if(ans == n-cnt) puts("^_^"); else puts("T_T");
}

这是核心代码,我的疑问是在我的代码中,这类同学不会连边,理应不会对答案产生贡献。那为啥被注释的那一行加上就过,去掉就不过了

2023/3/5 21:06
加载中...