记录编号 160342 评测结果 AAAAAAA
题目名称 [NOIP 2003]神经网络 最终得分 100
用户昵称 Gravatarforever 是否通过 通过
代码语言 C++ 运行时间 0.006 s
提交时间 2015-04-25 11:04:40 内存使用 0.67 MiB
显示代码纯文本
#include<iostream>
#include<cstdlib>
#include<queue>
#include<cstring>
#include<cstdio>
using namespace std;
int n,p,c[300],lian[300][300],fa[300],ru[300];
int x,y,z,head[300],kkk;
int l[300];
struct aa
{
	int zhong;
	int next;
	int juli;
}jie[300];
int main()
{   freopen("sjwl.in","r",stdin);
	freopen("sjwl.out","w",stdout);
	queue<int>q;
	cin>>n>>p;
	memset(head,-1,sizeof(head));
	for(int i=1;i<=n;++i)
	  cin>>c[i]>>fa[i];
	for(int i=1;i<=p;++i)
	{
		cin>>x>>y>>z;
		jie[i].zhong=y;
		jie[i].next=head[x];
		jie[i].juli=z;
		head[x]=i;
		ru[y]++;
		l[x]++;
	}
	//cout<<ru[5]<<endl;
	for(int i=1;i<=n;++i)
	 if(ru[i]==0)
		{   //l[i]=1;
		    if(c[i]>0)
			  q.push(i);
		}
	while(!q.empty())
	{
		int temp=q.front();
		q.pop();
		for(int j=head[temp];j!=-1;j=jie[j].next)
         {
			int k=jie[j].zhong;
			 c[k]+=jie[j].juli*c[temp];
			    //cout<<k<<" "<<c[k]<<endl;
			   ru[k]--;
			   if(ru[k]==0)
			    {   c[k]-=fa[k];
					if(c[k]>0)
					  q.push(k);
			    }
         }
	}
	for(int i=1;i<=n;++i)
	{
		if(c[i]>0&&!l[i])
		 {
				cout<<i<<" "<<c[i]<<endl;
				kkk++;
		 }
	}
	if(kkk==0)
	 cout<<"NULL";
	//system("pause");
}