NOIP水题(1)——信息传递
来源:互联网 发布:encode url php 编辑:程序博客网 时间:2024/05/22 15:45
好久没写博客了,因为上课了。每天就一节课来。理综(作业)要爆炸。。。数学已经爆炸。
但还是来一道水题吧。
P1979信息传递
这是个求最小环的题。(我们老师说的,我不懂,但我也只会这道题做法)
可以通过所给数据构成一个有向图(然并卵),重点是通过每个节点所指向的下个节点入度加一。
然后将没有入度的点删去(若成环,必有入度),再将它所指的节点入度减一。并判断是否有入度,若有则退出循环,没有则重复该操作。直到所有点遍历过后。
再将入度为1点深搜。比较得出最小环。
#include<stdio.h>#include<string.h>#include<stdbool.h>int N,sum=0,h;bool visit[200005];int a[200005];int in[200005];int DFS(int num){ int temp=num; visit[num]=true; in[a[temp]]--;//a[temp]表示下一个点 while(in[a[temp]]==0) { visit[a[temp]]=true;//下个点已被搜索 temp=a[temp];//temp为原来点指向点 in[a[temp]]--; } return 0;}int dfs(int num){ int temp=num; sum=0; while(!visit[temp]) { visit[temp]=true; sum++; temp=a[temp]; }// printf("%d ",sum); return sum;}int main(){ int i,min=300000; memset(in,0,sizeof(in)); memset(visit,0,sizeof(visit));// freopen("testdata.in","r",stdin);// freopen("testdata1.txt","w",stdout); scanf("%d",&N); for(i=1;i<=N;i++) { scanf("%d",&a[i]); in[a[i]]++; } for(i=1;i<=N;i++)//对每个入度为0的点深搜 { if(in[i]==0&&!visit[i])//visit表示若之前已被深搜过为0了,就不用再搜索了 DFS(i); }/* for(i=1;i<=N;i++) printf("%d ",in[i]);*/ for(i=1;i<=N;i++)//得出最小环 { if(!visit[i]) { sum=dfs(i); if(sum<min) min=sum; } } printf("%d",min); return 0;}
就在写博客时,突然发现了好多漏洞。。。又花了20多分钟。
就这样吧。
0 0
- NOIP水题(1)——信息传递
- NOIP 2015 信息传递
- NOIP 2015 信息传递
- noip 2015 信息传递
- 【noip 2015】信息传递
- 【noip 2015】信息传递
- NOIP 2015 d1t2 信息传递
- 【noip 2015】信息传递 dfs
- [NOIP 2015]Day.1 T2 信息传递 【最小环】
- NOIP 2015 D1 T2 信息传递
- 【NOIP 2015】 D1 T2 信息传递
- 水题——洛谷P2661 信息传递
- 【NOIP 2015 Day1 T2】信息传递(dfs || 拓扑排序 || Tarjan)
- SSL2505 2015年NOIP提高组试题 信息传递(并查集,最小环)
- 2015 NOIP day2 t2 信息传递 (tarjan 连通图)
- 【题解】NOIP 2015 信息传递(tarjan 强连通分量)
- Noip提高组2015 Day1 T2 信息传递 tarjan
- NOIP2015提高组day1 —— 信息传递(message)
- EasyDarwin云存储方案调研:海康萤石云采用的是MPEG-PS打包的方式进行的存储
- LintCode(1):递归、斐波那契
- 1-4.Hadoop安装配置-伪分布式(Hadoop系列day01)
- Linux内存管理之mmap详解
- java中堆区和栈区的理解
- NOIP水题(1)——信息传递
- 安卓实现水波纹动画效果
- 人格魅力的六法宝
- Android28--Android之Android的通知(Notification)使用详解
- Handler的用法介绍
- 图像概念
- (多态)Java向上转型之后调用子类的同名变量/方法的问题
- Map中的键值对进行遍历
- 高性能mysql读书笔记