Newcoder 21669 牛牛VS牛妹 (博弈+思维)

在牛客网的题目21669中,牛牛与牛妹进行博弈,目标是使得从左上角到右下角无法形成通路。双方轮流将空地变为#,牛牛先手。若最短通路长度与实际路径长度差为奇数,牛牛获胜;反之,牛妹获胜。问题转化为判断路径奇偶性。
摘要由CSDN通过智能技术生成

链接:https://ac.nowcoder.com/acm/problem/21669
来源:牛客网

题目大意

给你一个网格,有些点被#覆盖了不能再走,其他点是空地,现在牛牛和牛妹轮流开始将空地变成#
如果当前轮到的人操作之后左上角到右下角不存在通路了,当前操作的人就输了
通路只能是从左上角到右下角往右或者往下走的路径
牛牛先开始操作,如果双方都是绝顶聪明,输出最后谁赢


保证一开始给你的网格是存在一条左上角到右下角的通路的,当然,左上角与右下角都是空地。

题目分析 

发现任意一条路径其奇偶性都是一样的,
所以不妨取最短路经长度,我们只要判断除不可走点
之外的长度与最短路径长度差的奇偶性即可。

#include<bits/stdc++.h>
using namespace std;

#define debug puts("YES");
#define rep(x,y,z) for(int (x)=(y);(x)<(z);(x)++)
#define ll long long

#define lrt int l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值