社区讨论

60pts求助

P1038[NOIP 2003 提高组] 神经网络参与者 5已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@lo34137d
此快照首次捕获于
2023/10/24 00:26
2 年前
此快照最后确认于
2023/10/24 00:26
2 年前
查看原帖
60pts求助,RE+WA
CPP
#include<bits/stdc++.h>
using namespace std;
struct qaq {
	int opt,u,c;
};
struct qwq {
	int c,u;
} a[100002];
int chu[100002],ru[100002],w[10002][10002],n,m,ans[100002],fa[10002][10002],num[100002];
bool vis[100002];
int main() {
	cin>>n>>m;
	for(int i=1; i<=n; i++) {
		cin>>a[i].c >>a[i].u ;
	}for(int i=1; i<=m; i++) {
		int x,y,z;
		cin>>x>>y>>z;
		w[x][y]=z;
		w[y][x]=z;
		chu[x]++;
		ru[y]++;
	}for(int i=1; i<=n; i++) {
		int ans=a[i].c ;
		for(int j=1; j<=n; j++) {
			if(ans!=0){
				break;
			}else if(!vis[a[j].c ]) {
				a[i].c+=a[j].c * w[i][j];
			}

		}
		if(!ans) a[i].c -=a[i].u ;
		if(a[i].c <=0) vis[a[i].c ]=1;
	}memset(vis,1,sizeof(vis));
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=n; j++) {
			if((a[i].c <=0&&w[i][j])||vis[i]==0) {
				ru[j]--;
				vis[i]=1;
			}
		}
	}bool p=0;
	for(int i=1; i<=n; i++) {
		if(chu[i]==0&&ru[i]!=0&&a[i].c >0) {
			p=1;
			cout<<i<<" "<<a[i].c <<endl;
		}
	}if(!p){
		cout<<"NULL"<<endl;	
	} 
	return 0;

}

回复

5 条回复,欢迎继续交流。

正在加载回复...