P2712 摄像头
2018-06-17 22:39:19来源:未知 阅读 ()
题目描述
食品店里有n个摄像头,这种摄像头很笨拙,只能拍摄到固定位置。现有一群胆大妄为的松鼠想要抢劫食品店,为了不让摄像头拍下他们犯罪的证据,他们抢劫前的第一件事就是砸毁这些摄像头。
为了便于砸毁摄像头,松鼠歹徒们把所有摄像头和摄像头能监视到的地方统一编号,一个摄像头能被砸毁的条件是该摄像头所在位置不被其他摄像头监视。
现在你的任务是帮松鼠们计算是否可以砸掉所有摄像头,如不能则输出还没砸掉的摄像头的数量。
输入输出格式
输入格式:第1行,一个整数n,表示摄像头的个数。
第2到n+1行是摄像头的信息,包括:摄像头的位置x,以及这个摄像头可以监视到的位置数m,之后m个数y是此摄像头可以监视到的位置。(砸了这些摄像头之后自然这些位置就监视不到了)
输出格式:若可以砸掉所有摄像头则输出“YES”,否则输出还没砸掉的摄像头的数量。
输入输出样例
5 1 1 2 2 1 1 3 1 7 4 1 1 5 0
2
神坑题啊,,,,
一没数据数据范围,二题目描述不清楚
“第2到n+1行是摄像头的信息,包括:摄像头的位置x”
这句话的意思就是和你说
一开始遍历的时候只需要遍历到n
查找答案的时候需要查找摄像头的位置
还有就是map其实可以省去。。。。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<queue> 6 #include<map> 7 using namespace std; 8 map<int,int>mp; 9 const int MAXN=1000001; 10 struct node 11 { 12 int u; 13 int v; 14 int next; 15 }edge[MAXN]; 16 int head[MAXN]; 17 int num=1; 18 int rudu[MAXN]; 19 int n; 20 void add(int where,int will) 21 { 22 edge[num].u=where; 23 edge[num].v=will; 24 edge[num].next=head[where]; 25 head[where]=num++; 26 } 27 void topsort() 28 { 29 queue<int>q; 30 for(int i=1;i<=n;i++) 31 if(rudu[i]==0) 32 q.push(i); 33 while(q.size()!=0) 34 { 35 int p=q.front(); 36 q.pop(); 37 for(int i=head[p];i!=-1;i=edge[i].next) 38 { 39 if(edge[i].u==0&&edge[i].v==0)break; 40 int to=edge[i].v; 41 rudu[to]--; 42 if(rudu[to]==0) 43 q.push(to); 44 } 45 } 46 int ans=0; 47 for(int i=1;i<=n;i++) 48 if(rudu[mp[i]]!=0) 49 ans++; 50 if(ans==0) 51 printf("YES"); 52 else 53 printf("%d",ans); 54 } 55 int main() 56 { 57 scanf("%d",&n); 58 for(int i=1;i<=n;i++)head[i]=-1; 59 for(int i=1;i<=n;i++) 60 { 61 int where,m,will; 62 scanf("%d%d",&where,&m); 63 mp[i]=where; 64 for(int j=1;j<=m;j++) 65 { 66 scanf("%d",&will); 67 rudu[will]++; 68 add(mp[i],will); 69 } 70 } 71 topsort(); 72 return 0; 73 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- P1358 扑克牌 2020-05-06
- 博弈--巴什博弈 2020-04-24
- Z 字形变换 2020-04-14
- [题记-并查集] 合根植物 - 蓝桥杯 2020-04-07
- 无法正确通过算法题目都是哪些原因造成的? 2020-04-05
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash