当前位置: 首页 > news >正文

AtCoder Grant Contest 10.F 博弈

题意:给定一棵树,每个节点有个权值,Alice和Bob轮流进行操作,给定游戏起点指针指向节点C。不断进行下述操作。

1.将当前节点权值-1,然后将指针从该节点移动到相邻节点,出现一方不能移动(即指针指向的节点权值为0)即为输。

思路:

两个性质:

1.先手只会往权值严格小于当前节点的地方走。不然对手只需要把棋子位置移回来就可以耗死对方。

2.若存在权值严格小的相邻节点i且sg[i]=0,则当前节点是必胜位置。

之后的细节就很好想啦~~

 

 1 #include"bits/stdc++.h"
 2 #define ci(x) scanf("%d",&x)
 3 #define cd(x) scanf("%lf",&x)
 4 #define cl(x) scanf("%lld",&x)
 5 #define pi(x) printf("%d\n",x)
 6 #define pd(x) printf("%f\n",x)
 7 #define pl(x) printf("%lld\n",x)
 8 using namespace std;
 9 const int N = 3e3 + 5;
10 int n;
11 int a[N];
12 vector<int> e[N];
13 int dfs(int u,int pre){
14     for(int i=0;i<e[u].size();i++){
15         int v=e[u][i];
16         if(v==pre) continue;
17         if(a[u]>a[v]&&!dfs(v,u)) return 1;//v为必败态点且权值小于u,u即为必胜态。
18     }
19     return 0;//必败态
20 }
21 int main() {
22     ci(n);
23     for(int i=1;i<=n;i++) ci(a[i]);
24     for(int i=1;i<=n;i++) e[i].clear();
25     for(int i=1;i<n;i++){
26         int x,y;
27         ci(x),ci(y);
28         e[x].push_back(y);
29         e[y].push_back(x);
30     }
31     for(int i=1;i<=n;i++) if(dfs(i,0)) printf("%d ",i);
32     puts("");
33     return 0;
34 }

 

转载于:https://www.cnblogs.com/mj-liylho/p/9649186.html

相关文章:

  • Centos7安装Openresty和orange
  • 在ubuntu18实践
  • 非常全面的vim配置文件
  • EXCHANGE DAG环境如何排除ISCSI使用的网络适配器
  • PHP 的 SAPI 是个什么东西
  • 爬虫框架Scrapy入门——爬取acg12某页面
  • Seafile网盘专业版部署(debian8、ubuntu系统)
  • 七分钟理解 Java 的反射 API
  • 缓存与数据库的数据一致性方案介绍
  • Qt之QPropertyAnimationQEasingCurve
  • Android内存优化之图片内存优化
  • 重构到更深层的模型
  • 初识python: flush 实现进度条打印
  • es6 方法具名参数及默认值
  • 【大数据安全】Apache Kylin 安全配置(Kerberos)
  • JavaScript-如何实现克隆(clone)函数
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • ES6简单总结(搭配简单的讲解和小案例)
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • iOS小技巧之UIImagePickerController实现头像选择
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Odoo domain写法及运用
  • python_bomb----数据类型总结
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 【干货分享】dos命令大全
  • gunicorn工作原理
  • 选择阿里云数据库HBase版十大理由
  • ​Java并发新构件之Exchanger
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #include
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $forceUpdate()函数
  • (理论篇)httpmoudle和httphandler一览
  • (六)Hibernate的二级缓存
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (转载)Linux 多线程条件变量同步
  • .net快速开发框架源码分享
  • .NET命名规范和开发约定
  • .NET企业级应用架构设计系列之应用服务器
  • /bin/bash^M: bad interpreter: No such file or directory
  • @Controller和@RestController的区别?
  • [ 数据结构 - C++]红黑树RBTree
  • [<事务专题>]
  • [20150904]exp slow.txt
  • [BZOJ] 2006: [NOI2010]超级钢琴
  • [CF482B]Interesting Array
  • [flask]http请求//获取请求头信息+客户端信息
  • [idea]关于idea开发乱码的配置
  • [jquery]this触发自身click事件,当前控件向上滑出
  • [LOJ#6259]「CodePlus 2017 12 月赛」白金元首与独舞
  • [luoguP2401] 不等数列