bzoj2208 [Jsoi2010]连通数 dfs
来源:互联网 发布:中文编程系统 编辑:程序博客网 时间:2024/06/05 14:09
题意:求每个点出发能经过的点数,n<=2000。
这明显签到题吧喂,签到都太水了啊= =。跑的贼慢我好虚。结果还是过了。
#include<cstdio>#include<algorithm>#include<cstring>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namespace std;const int N=1e6+5;int n,m;int head[N],next[N],go[N],tot;long long ans,sum;bool vis[5005];char ch[N];inline void add(int x,int y){ go[++tot]=y; next[tot]=head[x]; head[x]=tot;}inline void dfs(int x){ ++sum; vis[x]=1; for(int i=head[x];i;i=next[i]) { int v=go[i]; if (!vis[v])dfs(v); }}int main(){ scanf("%d",&n); fo(i,1,n) { scanf("%s",ch+1); fo(j,1,n) { int c=ch[j]-'0'; if (c)add(i,j); } } fo(i,1,n) { sum=0; memset(vis,0,sizeof(vis)); dfs(i); ans+=sum; } printf("%lld\n",ans);}
阅读全文
0 0
- bzoj2208 [Jsoi2010]连通数 dfs
- 【BZOJ2208】[Jsoi2010]连通数【BFS/DFS】【SCC】
- BZOJ2208: [Jsoi2010]连通数
- BZOJ2208: [Jsoi2010]连通数
- bzoj2208 [Jsoi2010]连通数
- bzoj2208: [Jsoi2010]连通数
- BZOJ2208 [Jsoi2010]连通数
- BZOJ2208: [Jsoi2010]连通数 Tarjan缩点+Dfs
- [BZOJ2208][Jsoi2010]连通数(dfs||tarjan+拓扑序+dp)
- bzoj2208 [Jsoi2010]连通数(scc+bitset)
- [Tarjan+Bitset]BZOJ2208: [Jsoi2010]连通数
- [BZOJ2208][Jsoi2010]连通数(tarjan+topdp)
- 【BZOJ2208】【JSOI2010】连通数 传递闭包
- 【传递闭包+bitset优化】BZOJ2208 [Jsoi2010]连通数
- bzoj2208 [Jsoi2010]连通数(tarjan缩点+拓扑排序+bitset传递闭包)
- 2208: [Jsoi2010]连通数
- 2208: [Jsoi2010]连通数
- 2208: [Jsoi2010]连通数
- POJ 2251 Dungeon Master <三维BFS水题>
- 2017.10.13 半年记
- 二叉堆与优先队列
- mysql通过拷贝data目录恢复数据
- Ubuntu查看应用
- bzoj2208 [Jsoi2010]连通数 dfs
- Banner的使用
- 大小写字母转换
- 华为防火墙NAT配置
- 工作周报(20171007-20171013)
- 分页计算总页数算法:总页数=(总数-1)/每页数量+1----总页数=(总数+每页数量-1)/每页数量
- ubuntu下matlab、QT、pychorm的安装
- 吴恩达神经网络和深度学习课程自学笔记(五)之深度学习实用层面
- 诀别诗MV