题目链接:http://poj.org/problem?id=2912 

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1751

题意:有n个人玩石头剪刀布,所以会产生石头>剪刀,剪刀>布,布>石头,所以就产生了和食物链那题一样的关系;

枚举+关系并查集,枚举每个小孩为judge时的情况,若当前枚举情况下每个round都是正确的,则当前枚举编号可能是judge。

若只找到一个judge的可能,即为输出。若有多个就不确定了;

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <stack>
#include <map>
#include <vector>
using namespace std;
typedef long long LL;
#define N 2520
#define met(a, b) memset(a, b, sizeof(a)) int f[N], r[N], wrong[N]; int Find(int x)
{
int k = f[x];
if(x!=f[x])
{
f[x] = Find(f[x]);
r[x] = (r[x]+r[k])%;
}
return f[x];
} struct node
{
int x, y, op;
}a[N];
int main()
{
int n, m;
while(scanf("%d %d", &n, &m)!=EOF)
{
met(a, ); for(int i=; i<=m; i++)
{
char ch;
scanf("%d%c%d", &a[i].x, &ch, &a[i].y);
if(ch == '=') a[i].op = ;
if(ch == '>') a[i].op = ;
if(ch == '<') a[i].op = ;
} for(int i=; i<n; i++)///枚举裁判;
{
for(int j=; j<n; j++)
f[j] = j, r[j] = ; wrong[i] = ;///第i个人当裁判的时候在哪产生矛盾;
for(int j=; j<=m; j++)
{
if(a[j].x == i || a[j].y == i)continue;
int x = a[j].x, y = a[j].y; int px = Find(x);
int py = Find(y); if(px != py)
{
f[px] = py;
r[px] = (r[y] + a[j].op - r[x] + )%;
}
else if(px == py && (r[y]+a[j].op)% != r[x])
{
wrong[i] = j;
break;
}
}
}
int judge = , ans = , Index;
for(int i=; i<n; i++)
{
if(wrong[i] == )
{
judge++;
Index = i;
}
ans = max(wrong[i], ans);///当其他的情况矛盾了,那么就是确定结果的时候;
}
if(judge == ) printf("Player %d can be determined to be the judge after %d lines\n", Index, ans);
else if(judge == ) printf("Impossible\n");///没有产生;
else printf("Can not determine\n");///产生的不止一个,就是不确定;
}
return ;
}

Rochambeau---poj2912||zoj2751(并查集类似于食物链)的更多相关文章

  1. poj 1182:食物链(种类并查集,食物链问题)

    食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44168   Accepted: 12878 Description ...

  2. poj 2912 并查集(食物链加强版)

    题目:给出n个人玩剪刀石头布的游戏,其中有一个人是裁判,剩下的人分为3组,每一组的人只出某一种手型,裁判可以任意出.问是否能判断出哪个人是裁判 链接:点我 分分钟看吐血,先把食物链看懂吧 枚举裁判,然 ...

  3. POJ2912:Rochambeau(带权并查集)

    Rochambeau Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 5208   Accepted: 1778 题目链接:h ...

  4. POJ - 2912 Rochambeau (带权并查集+枚举)

    题意:有N个人被分为了三组,其中有一个人是开了挂的.同组的人的关系是‘=’,不同组的人关系是‘<’或'>',但是开了挂的人可以给出自己和他人任意的关系.现在要根据M条关系找出这个开了挂的人 ...

  5. poj2912(种类并查集+枚举)

    题目:http://poj.org/problem?id=2912 题意:n个人进行m轮剪刀石头布游戏(0<n<=500,0<=m<=2000),接下来m行形如x, y, ch ...

  6. POJ 2912 Rochambeau(种类并查集+枚举)

    题目链接:http://poj.org/problem?id=2912 题目大意:n个人玩,玩石头剪刀布游戏,其中1人是裁判,剩下的n-1个人分为3组, 他们商量好了,相同组的人每次都出相同的手势,不 ...

  7. 并查集-G - 食物链

    G - 食物链 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A.现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种 ...

  8. 分类并查集[noi2001 食物链]

    题目链接:http://cogs.pro:8081/cogs/problem/problem.php?pid=pxNJzxVPU 题目有三种动物,A吃B,B吃C,C吃A 即B是A的食物,A是B的天敌, ...

  9. POJ1703Find them, Catch them[种类并查集]

    Find them, Catch them Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 42416   Accepted: ...

随机推荐

  1. C#获取并修改文件扩展名的方法

    本文实例讲述了C#获取并修改文件扩展名的方法.分享给大家供大家参考.具体分析如下: 这里使用C#编程的方法改变文件扩展名的文件,必须使用Path类. Path类用来解析文件系统路径的各个部分.静态方法 ...

  2. is_file,is_dir,file_exists

    is_file()和file_exists()效率比较,结果当文件存在时,is_file函数比file_exists函数速度快14倍,当文件不存在时,两者速度相当.同理,当文件目录存在时,is_dir ...

  3. Windows下基于eclipse的Storm应用开发与调试

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3971113.html 本文以一个简单的example来讲解如何开发storm应用程序 1.创建maven ...

  4. Win10開始菜单打不开

    一.前言 自从用Win10之后(附上<我的Win10之旅>).用清理软件.总是深度清理,导致rt问题. 每次百度都是没用的解决方法: 今天,再一次清理(Wise Care 365 注冊表深 ...

  5. 查询_修改SQL Server 2005中数据库文件存放路径

    1.查看当前的存放路径: select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.maste ...

  6. c++ 类数据成员的定义、声明

    C++为类中提供类成员的初始化列表类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员2.进入构造函数后在构造函数中执行一般计算  1.类里面的任何成员变量在定义时是不 ...

  7. 【渗透测试学习平台】 web for pentester -6.命令执行

    命令执行漏洞 windows支持: |           ping 127.0.0.1|whoami           ||              ping  2 || whoami (哪条名 ...

  8. 【PHP】 判断是否微信内置浏览器

    PHP 判断是手机端还是PC端 function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset($_SERVER['HTTP_X_WA ...

  9. MUI ajax数据请求(list)

    服务器返回格式 { "code": "1001", "message": "查询成功", "data" ...

  10. (1.1.6)UVA 10978 Let's Play Magic!(直叙式模拟)

    /* * UVA_10978.CPP * * Created on: 2013年10月6日 * Author: Administrator */ #include <iostream> # ...