记录编号 421642 评测结果 AAAAAAAAAA
题目名称 [HAOI 2016]食物链 最终得分 100
用户昵称 Gravatar不需要黄桃 是否通过 通过
代码语言 C++ 运行时间 0.256 s
提交时间 2017-07-07 17:05:09 内存使用 2.98 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<vector>
using namespace std;
int n,m,jj,kk,ans;
int ro[100010];
struct ds{
	int pos;
	vector<int> so;
	int pat;
	bool pro;
	bool js;
}wz[100010];
int dfs(int p){
	if(!wz[p].pro)
		return 1;
	if(!wz[p].js)
	{
		for(int i=0;i<wz[p].so.size();i++)
		{
			int n=wz[p].so[i];
			wz[p].pat+=dfs(n);
			wz[p].js=1;
		}
	}
	return wz[p].pat;
}
int main()
{
	freopen("chain_2016.in","r",stdin);
	freopen("chain_2016.out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		scanf("%d%d",&jj,&kk);
		wz[kk].so.push_back(jj);
		wz[jj].pos=1;
		if(!wz[kk].pos)
			wz[kk].pos=2;
		if(!wz[kk].pro)
			wz[kk].pro=1;
	}
	for(int i=1;i<=n;i++)
	{
		if(wz[i].pos==2)
		{
			ans+=dfs(i);
		}
	}
	cout<<ans;
}