【POJ3710】Christmas Game 博弈 有限制的图上删边游戏(树形删边游戏进化1)
转载请注明出处:http://blog.csdn.net/vmurder/article/details/42671885
其实我就是觉得原创的访问量比未授权盗版多有点不爽233。。。
题意:
一个树图,然后1永远是根,两人轮流删边,不能删者输。
删边限制:只能删跟1连通的边。
树图限制:
它首先是一棵树,然后某些点上可能带一个环
原描述:最开始的图是一颗带有一些简单环的树,然后任何边都至多在一个多边形上。每个多边形最多有一个节点出现在主树上。
给个神犇论文地址:
石家庄二中·贾志豪——
《组合游戏略述——浅谈SG游戏的若干拓展及变》
http://wenku.baidu.com/link?url=BV3xf05i4YyrBqgEnkDnTNxeKf85irWoLLY_uVki2aa-nGL6h2yrEww8FKx2DoTq5cxe4NKF2Sl3tj4kvhNvknRbscpdCtKPY3hKDPyZlhW
代码:
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define N 105
#define M 1500
using namespace std;
struct KSD
{int v,next;
}e[M];
int head[N],cnt,newnode,TOT;
inline void add(int u,int v)
{e[++TOT].v=v;e[TOT].next=head[u];head[u]=TOT;
}
int n,m,map[N][N];
int dfn[N],low[N];
int stk[N],top;
int flag[N];
void init()
{cnt=TOT=top=0;memset(head,0,sizeof head);memset(map,0,sizeof(map));memset(dfn,0,sizeof(dfn));memset(flag,0,sizeof(flag));memset(stk,0,sizeof(stk));
}
void tarjan(int x,int p)
{int i,u,v,temp;low[x]=dfn[x]=++cnt;stk[++top]=x;for(i=1;i<=n;i++)if(map[x][i]&&i!=p){if(!dfn[i]){tarjan(i,x);low[x]=min(low[x],low[i]);if(dfn[x]<=low[i]){temp=++top;while(stk[--top]!=x);if((temp-top==2&&map[x][i]==1)||(temp-top)&1){if(!flag[x])flag[x]=u=++newnode;else u=flag[x];if(!flag[i])v=++newnode;else v=flag[i];add(u,v);}}}else low[x]=min(low[x],dfn[i]);}return ;
}
int SG(int x,int p)
{int i,v,sg=0;for(i=head[x];i;i=e[i].next){v=e[i].v;if(v==p)continue;sg^=(SG(v,x)+1);}return sg;
}int main()
{
// freopen("test.in","r",stdin);int i,k,T,a,b;while(scanf("%d",&T)!=EOF){for(k=0;T--;){scanf("%d%d",&n,&m);init();for(i=1;i<=m;i++){scanf("%d%d",&a,&b);map[a][b]++,map[b][a]++;}cnt=0;flag[1]=newnode=1;tarjan(1,0);k^=SG(1,0);}// printf("%d\n",k);if(k)puts("Sally");else puts("Harry");}return 0;
}
【POJ3710】Christmas Game 博弈 有限制的图上删边游戏(树形删边游戏进化1)相关推荐
- python 一张图画多条线_Gnuplot.py在一张图上绘制多条线
我目前正试图使用gnuplot py从文本文件中绘制多行.我可以分别绘制两条线,但当我试图在同一个图上绘制它们时,它只绘制一条线.在 这是我的代码:#!/usr/bin/env python impo ...
- tensorboard图上存在直线_高中数学必修二直线与圆:真是让我没想到,他俩的关系还挺不简单...
为什么有些题目看着复杂,看一眼就想烧了卷子.听老师一讲,然后一个有趣的事情就发生了,原来这么简单,哎哟,这方法不错,老师还挺聪明,给你点个赞. 首先承认一点,大家智商基本没有太大差异,老师也好,学生也 ...
- ICML2020 | 基于贝叶斯元学习在关系图上进行小样本关系抽取
今天给大家介绍来自加拿大蒙特利尔大学Mila人工智能研究所唐建教授课题组在ICML2020上发表的一篇关于关系抽取的文章.作者利用全局关系图来研究不同句子之间的新关系,并提出了一种新的贝叶斯元学习方法 ...
- Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加日期数据标签
Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加日期数据标签 目录
- Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加数值标签
Python使用matplotlib函数subplot可视化多个不同颜色的折线图.在折线图上为每个数据点添加数值标签 目录
- R语言ggplot2可视化在箱图上添加分组样本个数
R语言ggplot2可视化在箱图上添加分组样本个数 目录 R语言ggplot2可视化在箱图上添加分组样本个数 #数据预处理
- R语言层次聚类(hierarchical clustering):使用scale函数进行特征缩放、hclust包层次聚类(创建距离矩阵、聚类、绘制树状图dendrogram,在树状图上绘制红色矩形框)
R语言层次聚类(hierarchical clustering):使用scale函数进行特征缩放.hclust包层次聚类(创建距离矩阵.聚类.绘制树状图dendrogram,在树状图上绘制红色矩形框) ...
- 图上的对抗与攻击精选论文列表(2021相关论文一览)
来源:深度学习与图网络本文约1400字,建议阅读5分钟本文为你分享图上的对抗与攻击精选论文. 2021相关论文一览 大规模攻击图神经网络 图神经网络的黑盒梯度攻击: 更深入洞察图的攻击和防御 增强多路 ...
- Bootstrap+PHP实现多图上传
插件及源代码可以在这里下载 http://www.jq22.com/jquery-info5231 下面是根据下载的demo进行补充: 使用bootstrap界面美观,可预览,可拖拽上传,可配合aja ...
最新文章
- 2019年,中国要推进这70个工程项目
- ScrollView的基本用法丶代理方法
- 关于scrollTop为0以及解决方法
- grep,egrep及元字符和posix字符集
- 登录锁定状态下Win7关机技巧总结
- nyoj116士兵杀敌2
- c语言case的值能动态修改吗,java中的switch case语句中,case所对应的数目是不确定的,能否动态改变case...
- 好雨云帮如何对接Git Server
- python书籍_Python书籍大汇总——入门到实战
- godaddy修改php版本,Godaddy美国主机Plesk面板修改PHP版本教程
- 150万元重奖!阿里软件供应链安全大赛正式启动
- decimal保留千分位
- PyCharm切换Python版本
- 抖音最近流行的爱心代码(C语言版)
- 自加载宏让你的Excel支持正则处理函数
- python中format格式化输出总结
- Online Judge系统大全
- lync显示无法找到服务器,Lync 中的用户联系人照片未正确显示
- 【渝粤题库】广东开放大学 工程经济 形成性考核
- 【电力电子】【2012.07】三相升压整流器设计