zjnu MAFIJA (图论)
来源:互联网 发布:华讯网络好吗 编辑:程序博客网 时间:2024/05/29 03:20
题意:
就是有n个人在玩杀人游戏,每个杀手相互知道,现在每个人要指认杀手,杀手不能指认杀手,平民可以指认杀手和平民。问你做多有多少个杀手。
思路:
这是个染色问题,把没有指认过的的人开做杀手,在遍历一下图就好了
AC代码“
/* ***********************************************Author :yzkAcceptedCreated Time :2016/3/18 19:24:59TASK :。.cppLANG :C++************************************************ */#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <cmath>#include <cstdlib>#include <ctime>#include <stack>using namespace std;typedef __int64 ll;const int maxn=500010;int s[maxn],dig[maxn];int vis[maxn];int n,tot,ans;void dfs(int u,int c){if(vis[u]==1) return;vis[u]=1;dig[s[u]]--;ans+=c;if(dig[s[u]]==0||c==1)dfs(s[u],c^1);}int main(){int i,j,k; //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout);scanf("%d",&n);memset(vis,0,sizeof(vis));ans=0;for(i=1;i<=n;i++){scanf("%d",&s[i]);dig[s[i]]++;}for(i=1;i<=n;i++){if(dig[i]==0)dfs(i,1);}for(i=1;i<=n;i++){dfs(i,0);}cout<<ans<<endl; return 0;}
0 0
- zjnu MAFIJA (图论)
- 【图论】【贪心】[coci CONTEST #1 2014.10.18]MAFIJA
- 【图论05】并查集 1006 Zjnu Stadium
- ZJNU 1888
- ZJNU 1903
- ZJNU 1614
- Zjnu Stadium
- Zjnu Stadium
- Zjnu Stadium
- zjnu AllButOneDivisor
- COCI CONTEST #1 18.10.2014 T4 MAFIJA
- coci2014 contest1T4-MAFIJA——贪心
- ZJNU 1889 太空行走
- ZJNU 1006 骑士游历
- HDU 3047 Zjnu Stadium
- hdu 3047 Zjnu Stadium
- hdu 3047 Zjnu Stadium
- HDU 3047 Zjnu Stadium
- Spark+Kafka的Direct方式将偏移量发送到Zookeeper的实现
- python标准库学习3-fileinput
- B树、B-树、B+树、B*树 红黑树
- OpenLayers 3 之 事件体系详解
- 页面生成树形查询的后台实现方法
- zjnu MAFIJA (图论)
- POJ 2098 数值积分
- 257. Binary Tree Paths
- 7. Java 注释类型
- Spring学习笔记(1-2)
- gan
- 第六届蓝桥杯校内选拔
- 使用HOOK 拦截 WM_DEVICECHANGE消息
- asp循环遍历数据库ACCESS