/*******************************************************************************
上海赛区网络赛博弈水题,但是当时最后才A掉,一看那个数据量这么小,肯定枚举一下就行了,具体解法就
是列出对于每块tile,Alice跟Bob分别先放后,两人能得到的分数,然后枚举每块累加一下就完事了~唯一的
trick是对于第一种和第二中tile,需要对两人走的顺序分别考虑,具体看代码就能理解。代码写太搓了,很多
都是粘的。。。
*******************************************************************************/
#include <iostream>
#include <functional>
#include <algorithm>
#include <complex>
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <iomanip>
#include <sstream>
#include <utility>
#include <bitset>
#include <cctype>
#include <cstdio>
#include <limits>
#include <memory>
#include <string>
#include <vector>
#include <cmath>
#include <ctime>
#include <queue>
#include <stack>
#include <list>
#include <map>
#include <set>
using namespace std;
#define LOWBIT(x) ( (x) & ( (x) ^ ( (x) - 1 ) ) )
#define CLR(x, k) memset((x), (k), sizeof(x))
#define CPY(t, s) memcpy((t), (s), sizeof(s))
#define SC(t, s) static_cast<t>(s)
#define LEN(s) static_cast<int>( strlen((s)) )
#define SZ(s) static_cast<int>( (s).size() )
typedef double LF;
typedef __int64 LL; //VC
typedef unsigned __int64 ULL;
typedef pair<int, int> PII;
typedef pair<LL, LL> PLL;
typedef pair<double, double> PDD;
typedef vector<int> VI;
typedef vector<char> VC;
typedef vector<double> VF;
typedef vector<string> VS;
template <typename T>
T sqa(const T & x)
{
return x * x;
}
template <typename T>
T gcd(T a, T b)
{
if (!a || !b)
{
return max(a, b);
}
T t;
while (t = a % b)
{
a = b;
b = t;
}
return b;
};
const int INF_INT = 0x3f3f3f3f;
const LL INF_LL = 0x7fffffffffffffffLL; //15f
const double oo = 10e9;
const double eps = 10e-7;
const double PI = acos(-1.0);
#define ONLINE_JUDGE
const int MAXN = 16;
int test, tiles[MAXN];
void ace()
{
int cas = 1;
int alice, bob;
int total;
for (cin >> test; test--; ++cas)
{
CLR(tiles, 0);
total = 0;
for (int i = 0; i < 15; ++i)
{
cin >> tiles[i];
total += tiles[i];
}
alice = 0;
bob = 0;
for (int ind = 0; total > 0; --total, ind ^= 1)
{
if (tiles[14] != 0)
{
ind ? (alice += 0, bob += 2) : (alice += 2, bob += 0);
--tiles[14];
}
else if (tiles[2] != 0)
{
ind ? (alice += 0, bob += 2) : (alice += 1, bob += 0);
--tiles[2];
}
else if (tiles[3] != 0)
{
ind ? (alice += 0, bob += 2) : (alice += 1, bob += 0);
--tiles[3];
}
else if (tiles[4] != 0)
{
ind ? (alice += 0, bob += 1) : (alice += 2, bob += 0);
--tiles[4];
}
else if (tiles[5] != 0)
{
ind ? (alice += 0, bob += 1) : (alice += 2, bob += 0);
--tiles[5];
}
else if (tiles[10] != 0)
{
ind ? (alice += 0, bob += 1) : (alice += 1, bob += 0);
--tiles[10];
}
else if (tiles[11] != 0)
{
ind ? (alice += 0, bob += 1) : (alice += 1, bob += 0);
--tiles[11];
}
else if (tiles[12] != 0)
{
ind ? (alice += 0, bob += 1) : (alice += 1, bob += 0);
--tiles[12];
}
else if (tiles[13] != 0)
{
ind ? (alice += 0, bob += 1) : (alice += 1, bob += 0);
--tiles[13];
}
else if (tiles[6] != 0)
{
ind ? (alice += 1, bob += 1) : (alice += 1, bob += 0);
--tiles[6];
}
else if (tiles[7] != 0)
{
ind ? (alice += 1, bob += 1) : (alice += 1, bob += 0);
--tiles[7];
}
else if (tiles[8] != 0)
{
ind ? (alice += 0, bob += 1) : (alice += 1, bob += 1);
--tiles[8];
}
else if (tiles[9] != 0)
{
ind ? (alice += 0, bob += 1) : (alice += 1, bob += 1);
--tiles[9];
}
if (ind) //唯一的trick
{
if (tiles[1] != 0)
{
ind ? (alice += 0, bob += 2) : (alice += 0, bob += 2);
--tiles[1];
}
else if (tiles[0] != 0)
{
ind ? (alice += 2, bob += 0) : (alice += 2, bob += 0);
--tiles[0];
}
}
else
{
if (tiles[0] != 0)
{
ind ? (alice += 2, bob += 0) : (alice += 2, bob += 0);
--tiles[0];
}
else if (tiles[1] != 0)
{
ind ? (alice += 0, bob += 2) : (alice += 0, bob += 2);
--tiles[1];
}
}
}
cout << "Case #" << cas << ": ";
cout << (alice > bob ? "Alice" : "Bob") << endl;
}
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
#endif
ace();
return 0;
}
/*******************************************************************************
Test Data
3
5 4 0 0 0 0 0 0 0 0 0 0 0 0 0
5 5 0 0 0 0 0 0 0 0 0 0 0 0 0
100 100 0 0 0 0 0 0 0 0 0 2 1 0 0
*******************************************************************************/
相关推荐
ArcGIS Pro2.5深度学习使用注意事项
ArcGIS Pro2.5深度学习使用中的注意事项1、ArcGIS Pro2.5深度学习使用中的注意事项1.1、Label深度学习样本工具参数介绍1.2、准备数据参数介绍1.3、训练模型介绍1.4、ArcGIS Pro2.5深度学习推理工具和模型对应关系介绍1.4.1、Classify Objects Using Deep Learning1.4.2、Classify Pixels Using D...
HDU 4023 Game (博弈)
Problem Description Alice and Bob are playing game with each other. They play the game on a 2D board. Alice has many vertical 1*2 tiles while Bob has many horizontal 2*1 tiles. They take turn to pl
I2C通信协议SCL与SDA引脚特性:核心要点总结
深入讲解I2C通信协议中SCL和SDA引脚的工作机制与电气特性,帮助理解i2c通信协议的稳定传输原理,掌握上拉电阻配置与信号时序控制要点。
HDU 4023--Game(贪心+博弈)
来源:http://acm.hdu.edu.cn/showproblem.php?pid=4023 /* 题意:Alice有一种1*2的瓷砖,Bob分别有一种2*1的瓷砖,现在有15种形状的图形, Alice和Bob轮流在上面放瓷砖,谁不能放,谁就输。 分析:是一个贪心+模拟+博弈的题,根据图形来看,可把图形分类为 (1)、(2)、(3,4)、(5,6)、(7,8)、(9,10)、(11,12,
Shopee前端反爬三要素:x-sap-Ri、x-sap-Sec与af-ac-enc-dat深度解析
电商前端反爬机制本质是运行时环境可信验证,其核心在于动态生成的请求指纹、会话签名与行为加密载荷。这类机制不依赖静态Token,而是基于浏览器真实交互(如鼠标轨迹、页面可见性、时间精度)实时计算,体现JS运行时环境不可模拟性。技术价值在于将风控前移至客户端,大幅提升自动化绕过成本;典型应用场景包括商品价格监控、竞品数据采集与合规爬虫开发。本文聚焦Shopee实战案例,深入拆解x-sap-Ri(设备+行为哈希指纹)、x-sap-Sec(动态密钥签名)及af-ac-enc-dat(AES加密行为载荷)三大字段的生
脑机接口(BCI)从原理到开发实战 10|脑控外设:用脑电波控制机械臂/游戏
摘要: 脑机接口(BCI)的“最后一公里”是将分类结果转化为实际动作的关键环节。本文介绍如何通过指令映射、硬件通信和执行反馈实现脑控外设,包括离散/连续控制策略、防抖处理及串口/蓝牙通信方法。通过两个实战案例(运动想象控制机械臂抓取、P300/SSVEP控制游戏)和完整项目(OpenBCI控制小车),演示了从分类标签到设备动作的完整流程,重点涵盖指令生成算法(多数投票)、Python与Arduino的串口通信集成,为BCI系统落地提供实用解决方案。(149字)
hdu 4023 - Game
题目:Alice还有Bob 轮流在已知的15中俄罗斯方块上放置瓷砖,Alice放置的是垂直的2*1的矩形; Bob放置的是水平的1*2的矩形,Alice 先开始放,最后没位置可以放者输,判断胜者。 分析:博弈,贪心。一看到以为是博弈,结果直接贪心过了。 首先,相同形状的方块压缩,一共有8中不同的方块。得到A,B优先级:
企业微信审批流开发避坑指南:从零搭建自定义审批模板(含完整代码)
本文为企业微信审批流开发提供了从零搭建自定义审批模板的完整指南。通过对比内置模板与自建引擎的优劣,详细阐述了利用企业微信开放API和自建应用实现高度灵活审批流程的方案。文章重点解析了前端JS-SDK安全调用、后端签名生成与回调处理的核心代码,并分享了流程引擎设计、安全加固及性能监控等实战经验,帮助企业开发者避开常见陷阱,构建贴合业务的自定义审批系统。
2011 上海网选 HDU 4023 Game (博弈+人工智能)
著名的博弈玩家Alice and Bob, A有1*2的方块,B有2*1的方块,给出15种大方块,每样最多100个(约去平衡态后这个数据并不是很重要的东西), 没人轮流选在任意方块上放上一个自己专有的方块,不能为者负。 根据每个方块的能被放的情况对方块分类,共5类 1-- 2
大语言模型应用指南:幻觉和偏见问题
大语言模型应用指南:幻觉和偏见问题 1. 背景介绍 1.1 大语言模型的发展历程 1.1.1 早期的语言模型 1.1.2 Tr
10.28华为OD机试真题 新系统 - AI推理任务并行额度最大值 (Java/Py/C/C++/Js/Go)
10.28华为OD机试真题 新系统 - AI推理任务并行额度最大值 (Java/Py/C/C++/Js/Go)
hdu 4023
这题是博弈题,题意:给你一些形状的骨牌一样的东西,让a和b分别用竖着的1*2骨牌和横着的1*2的骨牌去覆盖,不能够重叠,谁先不能放谁输。一开始想把每一类的sg值求出然后异或就好了,但是这个sg状态太难找了,只能用一般的模拟来模拟最佳策略。分析如下 根据每个方块的能被放的情况对方
QT6实现USB摄像头接入显示与抓拍功能实现
QT实现USB摄像头接入显示 一、UVC协议简介 UVC全称是USB Video Class(USB视频类),是一种标准化的USB视频设备通信协议,它定义了摄像头与主机之间的数据传输协议和格式。 UVC协议的出现,解决了摄像头厂商之间互不兼容,以及摄像头应用开发与平台之间的散乱问题。 UVC标准是由USB-IF主导制定的,目前最新的版本是UVC 1.5,UVC的缺省设置类容易实现,不需要额外的驱动程序。
HDU 4023 Game 贪心 + 博弈
Alice有很多2*1的长方形,Bob有很多1*2的长方形,现在有如下15种棋盘,两人轮流用手中长方形去覆盖,第一个不能走的人输,问谁赢。 转自:http://www.cnblogs.com/kuangbin/archive/2012/08/23/2652902.html 这个题目应该是一个博弈类的题目,既然是博弈,那么每一步就要为自己争取最大的利益或者为对方带来最大的损失,那么先放哪一个
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
HDU 4023 (博弈 贪心 模拟) Game
如果硬要说这算是博弈题目的话,那这个博弈是不公平博弈(partizan games),因为双方面对同一个局面做出来的决策是不一样的。 我们平时做的博弈都是公平博弈(impartial games),所以在这道题里面,那些必胜必败状态,SG函数SG定理都派不上用场了。 但是,这道题是可以贪心的。 比如第一个图案对于Alice来说是安全稳定的,因为Bob不会跟他去抢位置,所以Alice可以省到最...
IMSL CNL 7.0.0 (x86-64)Crack
IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件
HDU4023 Game [贪心+博弈]
看上去很复杂的一道博弈,其实只要稍微分析就会发现情况其实很少很简单。。 斌牛的解释十分详细,我就不赘述了。。http://www.cnblogs.com/staginner/archive/2011/09/10/2173317.html 这里采用数组存储顺序可以大大减少代码的复杂程度,incs存储的是占用这个格子是会给自己留下稳定占位的个数,-1代表给对手留下了一个稳定占位。 ...
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
HDU 4023【博弈+贪心策略】
题目:Game 题意: 有如下图15种棋盘,给出每种棋盘的个数。Alice有无限个1*2形状的棋子,Bob有无限个2*1的棋子,棋子可以嵌进棋盘里,但棋子不能旋转和跨棋盘(T_T泪目啊,比赛时一队员跟我说可以跨棋盘,搞得把这题看成神题,最终仅仅浪费了时间在这题上),Alice和Bob轮流着放,Alice先放,谁最先不能嵌入棋子就输。 解题思路: 有15种,或许看起来...
hdu 4023 Game
hdu 4023 Game 题意:Alice还有Bob 轮流在已知的15中俄罗斯方块上放置瓷砖,Alice放置的是垂直的2*1的矩形,Bob放置的是水平的1*2的矩形,Alice 先开始放,最后没位置可以放者输,输出最后的胜者; 分析:题目看似博弈,却是一道贪心+模拟(其实我一开始也死命的认为是博弈,而且,因为博弈还没怎么搞过,就直接跳过了,是看了大牛的提示才知道的); 有这样十五种俄罗斯方...
hdu 4023 2011上海赛区网络赛C 贪心+模拟
以为是贪心,结果不是,2333 贪心最后对自己绝对有利的情况 点我 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 #include<...
ZOJ3870:Team Formation(浙江省赛2015)
The 12th Zhejiang Provincial Collegiate Programming Contest For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team from N students of his uni
ZOJ 2412 Farm Irrigation(DFS)
Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a lot of samll squares. Water pipes are placed in these squares. Different square has a different type of ...
HDU 4013 图论 树的最小表示
/******************************************************************************* 去年上海赛区热身赛的一道题,树的最小表示模板题。解法就是用二进制枚举所有可能的联通子图,然后 求所有联通子图的最小表示,要注意的是对于某一个联通子图,最小表示需要枚举联通子图里的所有的点,然 后从这些点开始进行dfs,dfs过程中进
HDU 4121 模拟
/**************************************************************************************************** 坑爹的模拟题~注意这两种情况:黑方的将能直接飞过去杀了红方的将,还有将走一步能把红方别的子给吃了。。。 ******************************************
HDU 3644 计算几何 模拟退火
/* * ===================================================================================== * * Filename: hdu3644.cpp * * Description: Calculate Geometry -- Simulated annealing * *
HDU 4049 状态压缩DP
/******************************************************************************* 去年北京赛区网络赛水题,状态压缩DP,一开始TLE,然后发现是没初始化,应该用空间换时间来着, 接着WA,搞了半天没搞明白。。。最后发现发现一个小小的纰漏~~~ 解法就是建立状态dp[M][1 << N],用第一个状态表示
7202



被折叠的 条评论
为什么被折叠?



