HDU4023 Game The 36th ACM/ICPC Asia Regional Shanghai Site —— Online Contest

HDU2059龟兔赛跑-题解动态规划DP 龟兔赛跑<br />Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)<br />Total Submission(s): 3538    Accepted Submission(s): 1277<br /><br />Problem Description据说在很久很久以前,可怜的兔子经历了人生中最大的打击——赛跑输给乌龟后,心中郁闷,发誓要报仇雪恨,于是躲进了杭州下沙某农业园卧薪尝胆潜心修 阅读详情

Game

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)
Total Submission(s): 9 Accepted Submission(s): 4


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 place their own tiles on the board. Considering about that the tiles cannot overlap each other, the player cannot do the placement any more loses. Since this is such a complex game that they could not find optimal method to play that, Alice decide to simplify this game by replace the large 2D board by some small ones. Alice set up a lot of Tetris tiles instead of the original 2D board. In the other words, the player can only place their own vertical or horizontal tiles on the Tetris-like board. Each player can choose one possible place on any Tetris tiles to place its own tiles. In fact, there are following 15 types of Tetris playground.

The playground cannot be transformed in any ways, including reflection and rotation.
Given the number of each type of tiles, you are asked to determine who will win the game if Alice plays first and both players are playing optimal.


Input
There are multiple test cases; the first line of input contains a single integer denoting the number of test cases.
For each test case, there are only one line contains 15 integers denoting the number of Tetris tiles of the above 15 types. All the numbers are no greater than 100.


Output
For each test cases, output “Alice” if Alice will win the game and both player plays optimally, “Bob” otherwise.


Sample Input
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


Sample Output
Case #1: Alice
Case #2: Bob
Case #3: Alice
Source


Recommend
lcy


 

 

两个人分别对每种tiles分配一个优先级,

分别计算A选第i中能覆盖几次,同时B在A选i后能覆盖第i种几次,反之亦是如此。

然后模拟计算两人覆盖的次数,比较谁覆盖次数大。

代码:

#include<cstdio>

int p1[]={15,5,6,3,4,11,12,13,14,7,8,9,10,1};
int c1[]={2,0,1,1,2,2,1,1,1,1,1,1,1,1,2};
int d2[]={0,2,0,0,0,0,0,0,1,1,0,0,0,0,0};
int p2[]={15,3,4,5,6,11,12,13,14,9,10,7,8,2};
int c2[]={0,2,2,2,1,1,1,1,1,1,1,1,1,1,2};
int d1[]={2,0,0,0,0,0,1,1,0,0,0,0,0,0,0};
int t,tt,a[25];
int main()
{
	scanf("%d",&t);
	while(t--)
	{
		int i,j,cur=0,flag=1,b[2][25]={0},s1=0,s2=0;
		for(i=1;i<=15;i++)
			scanf("%d",&a[i]);
		int f1=0,f2=0;
		while(1)
		{
			int f=1;
			if(cur==0)
			{
				for(i=0;i<14;i++)
					if(a[p1[i]]>0)
					{
						f=0;
						break;
					}
				if(f)
					f1=1;
				if(f1&&f2)
					break;
				a[p1[i]]--;
				s1+=c1[p1[i]-1];
				s2+=d2[p1[i]-1];
			}
			else
			{
				for(i=0;i<14;i++)
					if(a[p2[i]]>0)
					{
						f=0;
						break;
					}
				if(f)
					f2=1;
				if(f1&&f2)
					break;
				a[p2[i]]--;
				s2+=c2[p2[i]-1];
				s1+=d1[p2[i]-1];
			}
			cur^=1;
		}
		printf("Case #%d: %s\n",++tt,s1>s2?"Alice":"Bob");
	}
}


 

环形m段最大子段和 题解动态规划DP http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=10581环形m段最大子段和Time Limit: 5000ms, Special Time Limit:15000ms, Memory Limit:65536KB Total submit users: 3, Accepted users: 3 Problem 10581 : No special judgementProblem description  我想你已经做出了一维的最大子段 阅读详情

相关推荐

The 36th ACM/ICPC Asia Regional Shanghai Site —— Online Contest

The 36th ACM/ICPC Asia Regional Shanghai Site —— Online Contest Problem Set

The 36th ACM/ICPC Asia Regional Shanghai Site —— Warmup hdu 4016 Magic Bitwise And Operation

原题传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4016 这个题很明显是搜索,但是这个题对剪枝的要求很高!很高!由于n的最大值是40,也就是暴利的搜索是没法做的,因为我知道,暴利的搜索也就可以搜到十几。 当我知道,这场比赛和接下来的比赛都是一个人出的题的时候,我觉得我还是把每一个题弄明白为好。 这个题的剪枝不是我的思路,思路源自网络,呵呵,最终

水帘洞天 1500

NVIDIA驱动版本太低?手把手教你解决CUDA与PyTorch版本冲突问题

本文针对深度学习开发中常见的NVIDIA驱动版本过低导致的CUDA与PyTorch版本冲突问题,提供了从根源理解到实战解决的完整指南。文章详细解析了驱动、CUDA与PyTorch的依赖关系,并给出了升级驱动、降级PyTorch、使用Conda环境管理及Docker容器化四种核心解决方案,帮助开发者快速诊断并构建稳定的GPU开发工作流。

grpc6streamer的博客 968

The 36th ACM/ICPC Asia Regional Shanghai Site —— Warmup

//昨天做了一下以前的上海热身赛,贴一下代码留个纪念   //1001-贪心 代码如下: #include __int64 num[110000]; int main() { int n,cass,cas,i; __int64 a,b,ans,tem; scanf("%d",&cass); for(cas=1;cas<=cass;cas++) { scanf("%d%I6

Lazier’s blog 863

2023-07-04 Fast-Lio论文中公式(6)与BCH公式中近似雅可比公式的一致性推导

将(1)式代入(6)式,就有。

wmorries的博客 474

CentOS8静默安装Oracle11.2.0.1

背景 新安装oracle,用静默安装方式就不需要安装图形界面了,省时省力。 前期准备工作与图形化安装一样,如创建用户|用户组、环境变量、内核参数、创建目录等. 可参考图形化安装,链接:https://blog.youkuaiyun.com/heroicpoem/article/details/104229369 环境 平台 版本 操作系统 centOS 8 Oracle 11gR2 1.响应文件 响应文件的内容就是图形化安装时手工设置的选项内容。 解压后,database/response/db

heroicpoem的专栏 4518

The 36th ACM/ICPC Asia Regional Beijing Site Online Contest - G Panda

分题每次我看的都是1 2 3.。。。今天第一题真是吓着我了。。囧。。 这题是LG看的,说是线段树,我当时觉得应该不是最简单的题,就去看其他题,后来CG说了,这题很简单,他把他思路跟我说了。 以三个字符代表一个点,插入线段树,更新的话,更新三个点, 比如 123456,这些,

小媛在努力~ 2278

SAP 屏幕增强:客户商主数据屏幕增强(KNA1、KNB1、KNVV)

本文介绍了SAP系统中针对客户主数据(KNA1、KNB1、KNVV)进行屏幕增强的具体实现方法。主要内容包括:1)在SPRO配置中创建新条目;2)通过SE80创建函数组和程序(LZKNA1TOP等);3)设置子屏幕9001并添加自定义结构字段;4)利用BADI(CUSTOMER_ADD_DATA等)实现数据交互逻辑。文章分别详细说明了针对客户主数据的一般数据(KNA1)、公司代码数据(KNB1)和销售数据(KNVV)三类不同数据的增强配置步骤,包括函数模块创建、屏幕设置和BADI方法调用等关键技术点。

SAP ABAP开发技能记录分享 1614

The 36th ACM/ICPC Asia Regional Dalian Site —— Online Contest &&Dave

Problem Description Recently, Dave is boring, so he often walks around. He finds that some places are too crowded, for example, the ground. He couldn't help to think of the disasters happening recent...

feiliboos 210

为YOLOv11引入自适应特征融合模块(ASFF)

本文探讨了在YOLOv11中引入ASFF(自适应空间特征融合)模块以解决多尺度目标检测性能不均衡的问题。作者分析了传统FPN固定融合策略的缺陷,详细介绍了ASFF模块的实现原理,包括动态权重生成网络设计和特征融合机制。通过将ASFF集成到YOLOv11颈部网络,实现了特征在双向流动时的自适应融合,在复杂场景下mAP提升1.2%而推理时间仅增加3-5ms。文章还分享了训练调参技巧和部署注意事项,指出ASFF特别适合交通监控等目标尺度变化大的场景,但强调需根据实际需求平衡模型复杂度与性能。最后提供了工程实践建议

as1225120794的博客 320

【异常】OpenClaw总Token超限400报错400 Total tokens of image and text exceed max message tokens. Request id:

摘要: 多模态大模型调用中,图文总Token超限导致的400报错是常见问题。本文分析了该报错的触发原因(文本+图片Token总和超出接口限额),并从技术层面解释了多模态Token的计数规则。解决方案分为三个层次:1)紧急修复(精简文本、压缩图片、拆分请求);2)标准化根治(预校验Token、图片预处理、限额适配);3)进阶兜底(分块处理、模型升级、容错机制)。通过前置管控与源头优化,可有效解决并预防此类问题,提升业务稳定性。

奶爸的编程之路,也就一周冷个三天 831

HDU4022-map+multiset--The 36th ACM/ICPC Asia Regional Shanghai Site —— Online Contest

题目:题目链接 题意:给你n个敌人的坐标,再给你m个炸弹和爆炸方向,每个炸弹可以炸横排或竖排的敌人,问你每个炸弹能炸死多少个人。 分析:对于每个x坐标和y坐标分别1对多的保存这个坐标的敌人的数目,直接使用map和multiset好方便: 代码: #include #include #include #include #include #includ

ACM_devil 1082

STM32嵌入式标准化封装五层架构设计与工程实践

在嵌入式系统开发中,代码封装是保障可维护性、可复用性与可靠性的核心工程能力。其本质是通过分层抽象(硬件抽象层→设备驱动层→应用逻辑层)解耦硬件依赖与业务逻辑,实现跨芯片移植、多任务安全及确定性实时响应。关键技术包括HAL库重构以消除硬编码初始化、驱动层提供同步/异步/事件驱动三类UART接口、中断优先级矩阵管理确保响应确定性、双阶段时钟配置兼顾启动鲁棒性与运行能效,以及面向Modbus等工业协议的语义化API封装。这些实践直击STM32项目中引脚变更难、HAL裸调风险高、中断处理不安全、时钟配置僵化等典型痛

weixin_35019679的博客 66

The 36th ACM/ICPC Asia Regional Chengdu Site —— Online Contest

这场比赛我们队做了三题,4033,4034,4039,再多一点点时间4036还可以出的,没时间去看这个题了,赛后稍微想了一下就出了,这几个题在所有题里应该都算是简单题! 我做了4033,还把公式写反了,cos(x)=(a^2+b^2-c^2/(2*a*b),被我写成了cos(x

ysjjovo的专栏 891

第七天 Labview进阶(7.3 Teststand简单使用)

TestStand是NI开发的自动化测试管理软件,支持多语言编程和硬件集成,广泛应用于电子产品和工业测试。安装时需注意版本选择,2022版支持离线安装。使用步骤包括:1)创建测试序列文件;2)插入测试动作并配置参数(如选择VI路径、设置变量);3)添加条件判断和延时控制;4)执行测试序列时具备流程控制功能,如失败步骤自动跳过后续测试。该软件能有效提升测试效率与准确性,通过可视化操作实现复杂测试流程管理。

weixin_38637405的博客 1727

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

The 36th ACM/ICPC Asia Regional Shanghai Site —— Online Contest(HDU4021-4030)

HDU4022:Bombing 题意:二维坐标轴上有N个目标物,M次射击,有两种射击方式,一种是将X = a上的点都打掉,一种是将Y=a上的点都打掉,问一共能打掉多少个点? 思路:STL 的map >即可搞定 #include #include #include #include #include #include #include #include #include us

mowayao的专栏 1468

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

POJ 3155 Hard Life 最大密度子图

Hard Life Time Limit: 8000MS   Memory Limit: 65536K Total Submissions: 4345   Accepted: 1226 Case Time Limit: 2000MS

魔神翼 3909

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

HDU 4069 Squiggly Sudoku 数独DLX 福州网络赛

Squiggly Sudoku Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 644 Accepted Submiss

魔神翼 3899

HDU 3696 FZU 2006 -- Farm Game SPFA最长路 2010福州区域赛

Farm Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 62768/32768 K (Java/Others) Total Submission(s): 148 Accepted Submission(s): 65 Problem Description “Farm Game” is one of the m

魔神翼 3708

SOJ2113: 数字游戏题解动态规划DP

2113: 数字游戏Submit your solution     Discuss this problem     Best solutionsDescription 【问题描述】 丁丁最近沉迷于一个数字游戏之中。这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分为m个部分,各部分内的数字相加,相加所得的m个结果对10取模后再相乘,最终得到一个数k。游戏的要求是使你所得的k最大或者最小。 例如,对

魔神翼 3589

[SCOI2009]windy数 题解动态规划DP

[SCOI2009]windy数 Time Limit:1000MS  Memory Limit:165536KTotal Submit:162 Accepted:74 Descriptionwindy定义了一种windy数。 不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数? Input包含两个整数,A B。 Output一个整数。 Sample Input【输入样例一】 1 10 【输入样例二】 25 50

魔神翼 3430

POJ3662 Telephone Lines 二分+最短路

Telephone Lines Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3468   Accepted: 1245 Description Farmer John wants to set up a telephone line at his farm.

魔神翼 3200

POJ3186Treats for the Cows题解动态规划DP

Treats for the CowsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 2686 Accepted: 1280<br />DescriptionFJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for giving vast amounts of milk. FJ sells one treat per day and wan

魔神翼 3032

POJ1651Multiplication Puzzle题解动态规划DP

Multiplication PuzzleTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 3460 Accepted: 2034<br />DescriptionThe multiplication puzzle is played with a row of cards, each containing a single positive integer. During the move player takes one card out

魔神翼 2831

HDU2821 Pusher HDU3500 Fling DFS搜索

Pusher Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/65536 K (Java/Others) Total Submission(s): 169 Accepted Submission(s): 6

魔神翼 2685

HDU4067 Random Maze 最小费用最大流 福州网络赛

Random Maze Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 243 Accepted Submission

魔神翼 2668
上一篇: HDU4021 24 Puzzle The 36th ACM/ICPC Asia Regional Shanghai Site —— Online Contest
下一篇: Memo for ACM/ICPC Shanghai Regional Contest Online Round
power721
博客等级 码龄18年 176粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值