csu1804
/*
csu 1804
因为define和const总出错,到现在也不明白为什么 不知道define 和 const 出来的 mod 有什么区别
*/
#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
using namespace std;
const int mod = 1000000000+7;
long long ans[100000+10];
long long a[100000+10];
long long b[100000+10];
long long d[100000+10];//d[i]代表入度
vector<int>e[100000+10];
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(int i=0;i<=n;i++)
{
e[i].clear(); }
queue<int>q;
memset(ans,0,sizeof(ans));
memset(d,0,sizeof(d));
for(int i=1;i<=n;i++)
{
scanf("%lld%lld",&a[i],&b[i]);
}
int u,v;
for(int i=0;i<m;i++)
{
scanf("%d%d",&u,&v);
e[v].push_back(u);
d[u]++;
}
for(int i=1;i<=n;i++)
{
if(d[i]==0)
q.push(i);
}
while(!q.empty())
{
int to=q.front();
q.pop();
for(int i=0;i<e[to].size();i++)
{
int from=e[to][i];
ans[from]=(ans[from]+(ans[to]+b[to])%mod)%mod;
if(--d[from]==0)
{
q.push(from);
}
}
}
long long sum=0;
for(int i=1;i<=n;i++)
{
sum=(sum+ans[i]*a[i]%mod)%mod;
}
printf("%lld\n",sum); }
return 0;
}
csu1804的更多相关文章
- 2016 湖南省省赛B题《有向无环图》
题目链接[https://vjudge.net/problem/CSU-1804] 题意: 给出一个有向无环图,然后让你算下面的结果,count(i,j)表示i->j之间的路径条数. 题解: 根 ...
随机推荐
- 2018-2019-2 网络对抗技术 20165304 Exp2 后门原理与实践
后门的基本概念及实验内容 常用后门工具 netcat Win获得Linux Shell Linux获得Win Shell Meterpreter 实验内容 任务一:使用netcat获取主机操作Shel ...
- ensureCapacity增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。
扩容原则: 若参数值大于底层数组长度的1.5倍,则数组的长度就扩容为这个参数值:若小于底层数组长度的1.5倍,则数组长度就扩容为底层数组长度的1.5倍. ensureCapacity提高效率 fina ...
- Java学习--数组--判断数组中是否包含某个元素的方法
package zaLearnpackage; import org.apache.commons.lang3.ArrayUtils; import java.util.Arrays; import ...
- jQuery 效果 - 动画 animate() 方法
我们先看一个demo <!DOCTYPE html> <html> <head> <script src="/jquery/jquery-1.11. ...
- 字符IO流
输入 FileReader的用法: 1. 找到目标文件 2. 建立数据的输入通道 3. 读取数据 4. 关闭资源 具体实例:从硬盘中读取文件 输出 FileWriter的使用步骤: 1. 找到目标文件 ...
- python学习Day6 元组、字典、集合set三类数据用法、深浅拷贝
一.深浅拷贝 1. 值拷贝 ls1 = ls2 不开辟空间,指针跟着走.(直接将ls1中存放的地址拿过来,内存中不会开辟新的空间,所以你怎么变,我也跟着变.)(ls1内部的所有类型的值发生改变,l ...
- eclipse打包java项目
参考链接:https://blog.csdn.net/heshushun/article/details/78039801
- IDEA 中tomcat日志位置
参考 https://blog.csdn.net/dela_/article/details/78555977 /home/dela/.IntelliJIdea2017.1/system/tomcat ...
- 9. maps
C++有vertor,java有HashMap,C语言想使用则需要自行封装,不同的类型还需要再封装,特别麻烦. 看看Go语言的map的使用方法:var member map[string]int,创建 ...
- django RESTful设计方法
1. 域名 应该尽量将API部署在专用域名之下. https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下. https://example.org ...