poj2315足球游戏
问题描述:
分析:题目大意是两名球员轮流从N个球中挑出不多于M个射门,每个球半径都是R,离球门S。每次只能踢出L以内的距离。进最后一个球者胜,求谁有必胜策略?我们发现对数据进行处理之后,题目等价于给出n堆石子,每堆石子中每次最多取k个石子,每次最多选取m个石子堆做操作的博弈问题,首先我们将每堆石子堆对k+1取模简化运算,取一堆石子上的石子的做法我们是对所有的石子堆的sg值进行xor运算得到sg值,xor又称为半加运算,只进行加法而不进位,对于选取m堆石子的博弈我们的xor则是对于m+1进制下的半加运算,所以我们按位计算这个sg值,模拟m+1进制下的半加运算即可得到答案。
输入:
输入由几个案例组成,每个案例包含两行。
对于每个测试用例,第一行包含 4 个整数 N、M、L 和 R(1 <= M <= N <= 30, 0 < L < 100000000, 0 < R < 10000),用一个空格分隔。N是足球的数量,M是一名球员一回合可以射出的最大足球数,L是一名球员可以射出的最大距离,R是足球的半径。
下一行包含 N 个数字,S(1), S(2), ..., S(N) (0 < S(i) < 100000000),它们描述了足球和球门之间的距离。
输出:
对于每种情况,输出都包含一行描述获胜者的姓名。
样本输入:
样本输出:
程序代码:
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const int N=30;
const double PI=acos(-1.0);
int n,m,l,r,a[N],sg[N];
int dis(int s) //看能否进球
{return (int)(s/(2*PI*r))+1;
}
bool solve(){ //博弈函数memset(sg,0,sizeof(sg));int k=dis(l);for(int i=0;i<n;i++)for(int j=0,g=dis(a[i])%k;sg[j]+=g&1,g;j++,g>>=1);for(int i=0;i<30;i++)if(sg[i]%(m+1))return 1;return 0;
}
int main(){while(~scanf("%d%d%d%d",&n,&m,&l,&r)){for(int i=0;i<n;i++)scanf("%d",&a[i]);puts(solve()?"Alice":"Bob");}return 0;
}
yjg
poj2315足球游戏相关推荐
- android 足球游戏,足球游戏哪个好玩,安卓单机足球游戏哪个好玩
足球游戏 实况8好玩吗? 经典!!非常经典!! 足球足球街机游戏好玩吗 反正我觉得挺好玩的.话说你们不觉得新浪有借很棒么,人人都能借五千,而且提额相当容易,还很安全. 什么样的足球游戏好玩 那当然是实 ...
- 5月14日社区技术直播【Analytics Zoo上的分布式TensorFlow训练AI玩FIFA足球游戏】
主题: Analytics Zoo上的分布式TensorFlow训练AI玩FIFA足球游戏 时间: 2020.5.14 19:00 参与方式: 扫描下方海报二维码加入钉钉群 或者 届时点击直播间直接观 ...
- ChatGPT介绍世界杯历史与编写足球游戏python程序
ChatGPT聊天机器人最近非常流行,是由OpenAI于本月发布的.花了一点时间注册了一个账号,如有需要帮助注册的可以随时与我交流.注册过程相对有一些复杂. 除了常规的聊天对话功能之外,ChatGPT ...
- 世界杯太精彩了,带大家用Python做个足球游戏,边玩游戏边看比赛
文章目录 Python零基础快速制作足球游戏(附源代码) 前言 一.Python环境说明 二.游戏程序说明 1.游戏开始界面 2.人物移动规则说明,可支持两位玩家 3.足球规则 4.主方法调取 三.游 ...
- 用遗传算法加强足球游戏的人工智能
终于等够了三个月,杂志的约定已经到期,可以把这篇文章发表到网络跟大家分享.本文原发表于<游戏创造>杂志www.chinagcn.com,如蒙转载,请保留原文和本声明完整,并注明转载自恋花蝶 ...
- Python足球游戏源代码,热血足球小游戏,可双人玩
基于Python pygame的足球游戏源代码,游戏可以双人玩,游戏入口程序为soccer.py. 控制人物一 方向键:wasd ,射门键:r 控制人物二,方向键: 键盘方向键,射门键:k 程序运行截 ...
- 足球游戏源码《沙滩足球》beach soccer源码H5+安卓+IOS三端源码
cocos creator2.1.1足球游戏源码<沙滩足球>beach soccer源码H5+安卓+IOS三端源码,开发脚本为javaScript方便扩展和阅读,支持cocos creat ...
- android 疯狂足球原码,基于Android的疯狂足球游戏源代码
基于Android的疯狂足球游戏源代码. 相关文件下载在Linux公社的1号FTP服务器里,下载地址: 用户名:www.linuxidc.com 密码:www.muu.cc 在 2011年LinuxI ...
- 卡塔尔世界杯︱足球游戏的打开方式
距离卡塔尔世界杯开始还有一周的时间,你为此做好什么准备了吗? 一些狂热的球迷为了追求极致的观感和身临其境感,不惜在电视.音响上下重金:也有一些为了享受世界杯热闹氛围的人,囤好零食,或是和好友早早约好酒 ...
最新文章
- linux nmon 系统性能监控 报表生成
- “TI门外汉”网路知识笔记七 快速以太网通道
- CTF(pwn)攻防世界warmup
- 【本站作品】机器学习数学基础专辑
- 计算机网络计算机应用答案,计算机网络与应用(含答案).doc
- php二维数组的取值与转换
- 深入理解CRITICAL_SECTION
- [界面开发新秀]免费的AYUI,开发360领航版系列教程[2/40]
- 你真会用setTimeout吗?
- (C/C++) 算法,编程题
- Genesis Shards即将向用户发放Gen Ticket NFT
- 如果微信被运维删库、跑路,会造成什么恐怖的后果?
- 2. 线性表的顺序结构
- 用VIM编写C/C++程序
- Java生成32位全局唯一id
- linux445端口是什么,端口445怎么关 445端口是什么服务 445病毒是什么
- Quartz 表达式
- php api 实例maccms,api.php · do do/maccms10 - Gitee.com
- 【参考文献】支气管上皮细胞培养方法
- pci-e服务器显卡性能,RTX 2080 Ti PCI-E性能测试:3.0 x16终于成为必需