题目描述
小机器人建议小帅和小美使用人工神经网络模型来计算,以此找到隐蔽地点。
小机器人的神经网络模型是一个有向无环图,图中一共有n个节点,p条有向边,每个节点都代表一个神经元。
从节点i到节点j的有向边的权值是wij,表示神经元i会给神经元j传递信号,并且信号强度的增幅倍数是wij,增幅倍数可能是负数。
神经元按照功能分为三种,输入层、输出层、中间层。没有其它神经元的信号传入的神经元都属于输入层,不向其它神经元传递信号的属于输出层,剩下的神经元都属于中间层。神经元i的阈值是T[i],输入层神经元的阈值都是0。
初始所有神经元的信号强度都是0,在输入层神经元被激发之后,输入层当中神经元i的信号强度是C[i],整个网络系统在信号传输的推动下进行运作。
对于输入层之外其它神经元,C[i]是神经元i接收到的信号强度,由所有传输给它的神经元的信号强度C[j]各自乘以经过的传输路径的增幅倍数wji之和,最后减去阈值T[i]计算得出。C[i]的计算过程可以表示为下面这个和式,其中j表示的是所有把信号传输给神经元i的神经元编号。
C[i]=(∑W[j][i]*C[j])-T[i]
在接收完所有信号之后,如果神经元i的信号强度C[i]大于0,那么它就会发射强度是C[i]的信号给后面与之相连的神经元。
计算程序需要计算出最终输出层中信号强度大于0的神经元状态,如果输出层的所有神经元信号强度都小于或者等于0,则输出NULL。
保证答案不超过int数据范围。
输入
第一行两个整数n,p。(1 <= n <= 100,1 <= p <= 200)
接下来n行,每行两个整数,第i+1行表示初始的C[i]和T[i]。
再接下来p行,每行3个整数i j w,表示存在一条i到j,权值为w的有向边。
输出
输出包含若干行,每行有两个整数,分别对应一个神经元的编号,及其最后的信号强度,两个整数间以空格分隔。
仅输出最后状态大于0的输出层神经元状态,并且按照编号由小到大顺序输出。
若输出层的神经元最后的信号强度都不大于0,则输出NULL。
样例输入
5 6
1 0
1 0
0 1
0 1
0 1
1 3 1
1 4 1
1 5 1
2 3 1
2 4 1
2 5 1
样例输出
3 1
4 1
5 1