hdu 5299——Circles Game

题意:

给定n个嵌套的圆,每次可以删除圆以及该圆包含的所有圆,不能删除者输。

思路:

把每个圆看成一个点,把圆的包含关系看成一条单向边,那么就化成了一棵树。
然后就是裸的树上删边游戏模型了。
对于树上删边游戏:
1. 叶子节点的sg为0
2. 中间节点的sg为所有儿子节点的sg+1的异或和

实际上该题目为树上删边游戏的变形。

#include <bits/stdc++.h>
using namespace std;typedef long long ll;
const int N=20005;
int head[N],to[N],nt[N],cnt;
struct  circle
{int x,y,r;void read(){scanf("%d%d%d",&x,&y,&r);}
}c[N];
ll pp(ll p){return p*p;
}
bool ok(circle A,circle B){return  pp(A.x-B.x)+pp(A.y-B.y)<pp(A.r-B.r);
}
bool cmp(circle A,circle B){if (A.r!=B.r) return A.r>B.r;return A.x<B.x;
}
void addedge(int u,int v){to[++cnt]=v;nt[cnt]=head[u];head[u]=cnt;
}
int dfs(int u){//printf("%d\n", u);int ans=0;for (int i=head[u];i;i=nt[i]){ans^=(dfs(to[i])+1);}return ans;
}
void init(){memset(head,0,sizeof(head));memset(nt,-1,sizeof(nt));cnt=0;
}
int main(int argc, char const *argv[])
{int T,n;scanf("%d",&T);while (T--){scanf("%d",&n);init();for (int i=0;i<n;i++) c[i].read();sort(c,c+n,cmp);int rt=n;for (int i=n-1;i>0;i--){bool ff=0;for (int j=i-1;j>=0;j--){if (ok(c[i],c[j])) {ff=1;addedge(j,i);break;}}if (!ff) addedge(rt,i);}addedge(rt,0);if (dfs(rt)) puts("Alice");else puts("Bob");}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/381573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python制作简单动画_如何使用python制作简单的动画?

Python真的是无穷的好用&#xff0c;涉及内容非常广泛&#xff0c;比如接下来给大家介绍的制作动画&#xff0c;就可以利用python实现&#xff0c;相信小伙伴们听到这些内容肯定是非常感兴趣的&#xff0c;至于怎么去实现&#xff1f;大家想不想了解呢&#xff1f;下面小编就给…

asp.net 时间显示格式

asp.net里获取当前时间,并输出需要格式2007年12月08日 星期六 23:13;asp.net里获取当前时间&#xff0c;并字符串格式化转换2007-12-03 00:051.string strTime DateTime.Now.ToLongTimeString(); --------------------------------------------------------------------------…

clickhouse语句_篇四|ClickHouse的可视化界面与集群状态监控

介绍 tabix支持通过浏览器直接连接 ClickHouse&#xff0c;不需要安装其他软件&#xff0c;就可以访问ClickHouse&#xff0c;具有以下特点&#xff1a;⾼亮语法的编辑器。⾃动命令补全。查询命令执⾏的图形分析⼯具。配⾊⽅案选项。除此之外&#xff0c;还可以使用DBeaver连接…

python集合应用场景_python 集合的应用

应用场景 磁盘资产采集信息&#xff0c;与数据库中的磁盘信息需要进行对比&#xff0c;再资产入库&#xff0c;对于采集的多余的插巢属于新增的磁盘&#xff0c;对于相同的插巢可能是磁盘容量变更&#xff0c;对于数据库中有但是采集信息中没有的插巢是资产中删除的磁盘。 原始…

Codeforces Round #381 (Div. 2) Codeforce_740

A. Alyona and copybooks 水题&#xff0c;让求满足条件的最小花费&#xff0c;注意组合可能是多个即可。 #include <bits/stdc.h> using namespace std;typedef long long ll;int main(int argc, char const *argv[]) {ll n,a,b,c;cin>>n>>a>>b>…

mootools框架【十】-mootools深层探讨

mootools【十】- window的扩展及多彩世界 一. Mootools 框架对 Window的扩展: 浏览器的window对象本身就提供了我们很多的对浏览器本身属性的获取或设置的方法&#xff0c;但是我们也知道&#xff0c;由于各大浏览器之间对标准的实现不统一&#xff0c;导致很多方法功能上有所…

apache为什么更适合处理动态请求_[适合初中级Java程序员修炼手册从0搭建整个Web项目](一)...

前言文本已收录至我的GitHub仓库&#xff0c;欢迎Star&#xff1a;https://github.com/bin392328206种一棵树最好的时间是十年前&#xff0c;其次是现在six-finger-web一个Web后端框架的轮子从处理Http请求【基于Netty的请求级Web服务器】 到mvc【接口封装转发)】&#xff0c;再…

python如何自动缩进_Python缩进

缩进出现问题&#xff0c;运行不出来。 正确代码如下&#xff1a;1 defbinary_search(list, item):2 low 03 high len(list)-1 4 5 while low <high:6 mid (low high)7 guess list[mid]8 if guess item:9 returnmid10 if guess >item:11 high mid-1 12 else:13 low m…

差分约束系统详解

一直不知道差分约束是什么类型题目&#xff0c;最近在写最短路问题就顺带看了下&#xff0c;原来就是给出一些形如x-y<b不等式的约束&#xff0c;问你是否满足有解的问题 好神奇的是这类问题竟然可以转换成图论里的最短路径问题&#xff0c;下面开始详细介绍下 比如给出三…

美开发思想头盔让士兵通过脑电波交流

http://www.sina.com.cn 2008年09月18日 08:08 新浪科技新浪科技讯 北京时间9月18日消息&#xff0c;据美国《时代》周刊报道&#xff0c;在20世纪的战场上&#xff0c;爆炸声震耳欲聋&#xff0c;军官们要下达命令&#xff0c;或者士兵之间互相交流看法&#xff0c;只能大声…

flink source 同步_大数据面试题-Flink

1、Flink 的 抽象层次有几种Stateful stream processingCore APITableSQL 2、Window 类型(1)TimeWindowTumbling Window(滚动窗口)Sliding Window(滑动窗口)Session Window(会话窗口)Global Window(全局窗口)(2)countWindow(3)自定义window 3、Time 类型事件时间、注入时间和Pr…

python 程序员专属情话_程序员高端情话来一波,你想要的情话原来都在这里......

原标题&#xff1a;程序员高端情话来一波&#xff0c;你想要的情话原来都在这里...程序员最幽默(ID&#xff1a;humor1024)整编图片来自&#xff1a;网络今天是2019年8月7号&#xff0c;一年一度的情人节又来了作为屌丝界的一枚程序员怎么能不参与到这个振奋人心的日子里呢&…

HDU ACM Steps攻略 ACM Steps的全部内容

原地址&#xff1a;http://www.byywee.com/page/M0/S607/607452.html 总结了一下ACM STEPS的各章内容&#xff0c;趁便附上我的Steps题号&#xff08;每人的不一样&#xff09;。 别的&#xff0c;此文首要目标是为了装逼&#xff1b; 大牛请疏忽&#xff1b; 摸索欲斗劲强…

ASP.NET中常用的js代码

ASP.NET中常用的js代码 所属类别&#xff1a;ASP.net推荐指数&#xff1a;★★☆文档人气&#xff1a;61本周人气&#xff1a;3发布日期&#xff1a;2008-7-8三、弹出框1、 弹出提示框Alert("提示框&#xff0c;呵呵");2、 弹出确认框return confirm("确认框&am…

linux孟庆昌第六章课后题_第六章课后练习题答案

第四部分课后练习题一、单项选择题1&#xff0e;某投资方案的年营业收入为元&#xff0c;年总营业成本为60000元&#xff0c;其中年折旧额10000元&#xff0c;所得税率为33&#xff05;&#xff0c;该方案的每年营业现金流量为( B)。A&#xff0e;26800元B&#xff0e;36800元C…

1.1.1.1校园网_Apache Flink 1.11.0 重要功能全面解析

来源 | Apache Flink 官方博客翻译 | 高赟(云骞)Apache Flink 社区很荣幸的宣布 Flink 1.11.0 版本正式发布&#xff01;超过 200 名贡献者参与了 Flink 1.11.0 的开发&#xff0c;提交了超过 1300 个修复或优化。这些修改极大的提高了 Flink 的可用性&#xff0c;并且增强了各…

双硬盘双win10互不干扰_笔者详解win10系统双硬盘经常提示“盘符交错”的技巧...

你是否遇到过win10系统双硬盘经常提示“盘符交错”的问题。那么出现win10系统双硬盘经常提示“盘符交错”的问题该怎么解决呢&#xff1f;很多对电脑不太熟悉的小伙伴不知道win10系统双硬盘经常提示“盘符交错”到底该如何解决&#xff1f;其实只需要  一、修复windows  二、…

[leetcode] 617. Merge Two Binary Trees

题目描述 给定两棵树&#xff0c;要求合并它们&#xff0c;如果节点重合则新合并的树的节点为它们之和&#xff0c;否则不变。 思路 简单递归&#xff0c;c语言怎么创建新节点忘记了&#xff0c;就直接写的。 代码 /*** Definition for a binary tree node.* struct TreeNode {…

python定时任务_Python定时任务(上)

在项目中&#xff0c;我们可能遇到有定时任务的需求。其一&#xff1a;定时执行任务。例如每天早上 8 点定时推送早报。其二&#xff1a;每隔一个时间段就执行任务。比如&#xff1a;每隔一个小时提醒自己起来走动走动&#xff0c;避免长时间坐着。今天&#xff0c;我跟大家分享…

3-font

第三章 font-family控制文字字体font-family:Arial, Helvetica, sans-serif;依次采用列表中的字体&#xff0c;如果没有系统中没有安装&#xff0c;则采用浏览器默认字体。font-size控制文字大小1in&#xff08;英寸&#xff09; 2.54cm&#xff08;厘米&#xff09; 25.4 mm…