poj3352-参考3177,同样代码,直接通过
2012-11-04 13:15
447 查看
#include <stdio.h> #include <stdlib.h> #include <string.h> #define nMax 5005 #define Min(a,b) (a<b?a:b) struct EDGE { int v,next; }edge[2 * nMax]; int preEdge[nMax]; int N, edgeNum, index; bool map[nMax][nMax]; int dfn[nMax],low[nMax]; void addEdge(int u, int v) { edge[edgeNum].v = v; edge[edgeNum].next = preEdge[u]; preEdge[u] = edgeNum ++; } void tarjan(int u, int father) { dfn[u] = low[u] = ++ index; for (int i = preEdge[u]; i != -1; i = edge[i].next) { int v = edge[i].v; if (!dfn[v]) { tarjan(v, u); low[u] = Min(low[u], low[v]); } else if (v != father) { low[u] = Min(low[u], dfn[v]); } } } void output() { int cnt[nMax], num = 0; memset(cnt, 0, sizeof(cnt)); for (int i = 1; i <= N; ++ i) { for (int j = preEdge[i]; j != -1; j = edge[j].next) { int v = edge[j].v; if (low[v] != low[i]) { cnt[low[i]] ++; } } } for (int i = 0; i <= N; ++ i) { if (cnt[i] == 1) { num ++; } } printf("%d\n", (num + 1) / 2); } int main() { int R,u,v; while (scanf("%d %d", &N, &R) != EOF) { index = edgeNum = 0; memset(preEdge, -1, sizeof(preEdge)); memset(map, false, sizeof(map)); memset(dfn, 0, sizeof(dfn)); for (int i = 0; i < R; ++ i) { scanf("%d %d", &u, &v); if (!map[u][v]) { addEdge(u,v); addEdge(v,u); map[u][v] = map[v][u] = true; } } tarjan(1, 1); output(); } return 0; }
相关文章推荐
- 如何在网页中通过js代码将直接关注某个微信账号
- SAP ABAP/4学习---如何给写好的一个程序分配事务代码,用户可以直接通过事务码来访问程序.或者加入收藏夹(9)
- 下载(二)客户端通过C# 代码直接从服务器下载文件到本地
- ABAP--通过BDC倒入员工照片的参考代码
- s3c2410+linux通过SPI驱动双数码管参考代码
- 通过js引用外部脚本(嘿嘿,方便直接在浏览器上调试抓取代码)
- JNA (Java Native Access) 不通过JNI直接调用本地代码
- iOS开发,javascript直接调用oc代码而非通过改变url回调方式
- ios开发,javascript直接调用oc代码而非通过改变url回调方式
- ios开发,javascript直接调用oc代码而非通过改变url回调方式
- 那些年通过代码直接创建控件时的各种犯傻(以后遇到会继续补充)
- 通过颜色生成图片,直接上代码
- QStringLiteral(源代码里有一个通过构造函数产生的从const char*到QString的隐式转换,QStringLiteral字符串可以放在代码的任何地方,编译期直接生成utf16字符串,速度很快,体积变大)
- set方法可以直接通过代码编写
- Delphi使用android的NDK是通过JNI接口,封装好了,不用自己写本地代码,直接调用
- 在代码中直接写母语,通过T4模板自动生成母语的.resx文件
- Volley框架的搭建,可以直接用到自己的APP中(参考别人的代码搭建的)
- 通过putty的tunnel打洞的方式在本地代码直接连接远程数据库(intellij idea版)
- ios开发中,关于javascript直接调用oc代码而非通过改变url回调方式
- 发送端用Jrtplib库进行发送,接收端通过VLC接收并播放——有参考代码