hdu 2647 Reward
来源:互联网 发布:node.js promise 编辑:程序博客网 时间:2024/06/05 03:23
这样写居然过了。。
还以为会超时。。
看到了别人用优先队列做,膜拜,膜拜。。我怎么就没想到(感觉自己的方法跟做模拟题差不多)。。
我看了别人的优先队列做法,思路差不多。。
//但是我想既然已经确定给最差的那个人888,其他人就已经确定了。。用不着优先队列吧。。直接队列就好了
这句话应该有问题,,但是我找不出问题。。希望有人看到后帮我解答一下。。万分感谢。。
#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>using namespace std;struct node{ int who; int cnt; node *next;}way[10010];int how[10010];int find(int a,int b){ for(node *p=way[a].next;p;p=p->next) { if(p->who==b) return 1; } return 0;}void add(int a,int b){ if(!find(a,b)) { way[b].cnt++; node *p=new node; p->next=way[a].next; p->who=b; way[a].next=p; }}int main(){ int n,m; //int ok=1;纪念我的6发wa。。 mdzz。。 while(scanf("%d%d",&n,&m)==2) { int ok=1; for(int i=1;i<=n;i++) { way[i].cnt=0; way[i].next=NULL; } int a,b; while(m--) { scanf("%d%d",&a,&b); add(b,a); } int ans=0; int all=n; int i=0; while(all) { int num=0; for(int j=1;j<=n;j++)//这一步是为了找到相同level 的人们 { if(way[j].cnt==0) { way[j].cnt--; ans=ans+888+i; num++; how[num]=j;//把这些人的编号全部收齐来,然后一起减掉他们的边 all--; } } if(num==0) { printf("-1\n"); ok=0; break; } for(int j=1;j<=num;j++) { for(node *p=way[how[j]].next;p;p=p->next) { way[p->who].cnt--; if(way[p->who].cnt<0)//如果负的话,说明有环了。因为这个点,可能是已经删除的点或者是被某些点删了又删。。 { printf("-1\n"); ok=0; break; } } if(!ok) break; } if(!ok) break; i++; } if(ok) { printf("%d\n",ans); } } return 0;}
0 0
- hdu 2647 Reward
- hdu 2647 Reward
- hdu 2647 Reward
- HDU 2647 Reward
- hdu 2647 Reward
- hdu 2647 Reward
- hdu-2647 Reward
- hdu 2647 Reward
- HDU 2647 Reward
- hdu 2647 Reward
- hdu 2647 Reward
- HDU 2647 Reward
- HDU 2647 Reward
- hdu 2647 Reward
- hdu 2647 Reward
- Hdu 2647 Reward
- hdu 2647 Reward
- HDU 2647 Reward
- 修改VLC读缓冲机制
- hdu 1754
- 用 Apache JMeter 测试 WebSphere 性能
- 2014年武汉的IT行情好像不太好(续):20个月过后,再看当时面试过的几个公司--武汉财富基石-崩盘,辣妈萌宝-创业失败,朋友公司转交他人管理
- POJ 1001--Exponentiation
- hdu 2647 Reward
- POJ 1177 Picture
- ZOJ - 3870 Team Formation (位运算)
- JAVA中extends 与implements区别
- 简单的传球游戏(矩阵快速幂) bnuoj49104
- leetcode-133. Clone Graph
- 算法(五)
- leetcode——120——Triangle
- leetcode 061 Rotate List