【牛客 - 373A】翻硬币问题(博弈,结论,分析)

题干:

链接:https://ac.nowcoder.com/acm/contest/373/A
来源:牛客网
 

Alice和Bob正在玩一个很经典的游戏。

有 n n个硬币初始时全部正面朝上,每一轮Alice必须选择其中任意的恰好 m m枚硬币并将它们全部翻转,如果若干轮翻转后所有硬币全部反面朝上,那么Alice就赢得了游戏。

假设我们认为每枚硬币只有正面朝上和反面朝上两种状态且只考虑 m m为偶数的情况,问题会比较简单。

但是出题人希望这道题更毒瘤一些,所以他增加了一条规则:Bob在整个游戏中可以有一次机会使坏--在Alice某一轮翻转完之后,偷偷选择任意硬币并将它翻转。

为了不让Alice赢得游戏,Bob会采取最优的策略。

现在给定 n n和 m m,请问Alice是否可以赢得游戏?

注意:

  1. Bob虽然可以在任何轮翻转之后使坏,但是在整个游戏中只有一次这样的机会。也就是说,如果在某一轮之后使用了这个机会,那么以后都不能再使用。
  2. 轮次可以认为是无限的,只要在任何一轮翻转后所有硬币全部反面朝上,Alice就立即赢得游戏胜利,Bob即使没有用掉使坏的机会也不能再偷偷翻转硬币。

输入描述:

 

每个输入文件有多个测试样例。

第一行一个整数 T(T≤30000) T(T≤30000)--测试样例个数。

然后 T T行,每行两个整数 n n和 m m (1≤m≤n≤109,m是偶数) (1≤m≤n≤109,m是偶数)--硬币的数量和每一轮翻转硬币的数量。其中第 i+1 i+1行表示第 i i个样例。

输出描述:

 

输出 T T行,第 i i行输出第 i i个测试样例的答案。

如果Alice可以赢得游戏输出“Yes”,否则输出“No”,请注意区分大小写。

示例1

输入

复制

2
2 2
8 6

输出

复制

Yes
No

说明

对于第一个样例,Alice直接一轮翻转全部两个硬币就可以赢得游戏。对于第二个样例,Bob如果在第一轮结束后将任意一枚反面朝上的硬币翻转,之后Alice无论怎样翻转硬币也永远不能使得所有硬币全部反面朝上。

解题报告:

   如果要赢,只能第一次就翻出结果来,否则就输。作者:lililalala
证明:
一回合不能直接翻转所有硬币,因为m是偶数,所以只需要讨论n的奇偶性。
(1)n是奇数
某回合结束后所有硬币反面朝上可以等价于所有硬币都被翻转了奇数次。假设可以达成,那么
该回合后所有回合总翻转次数一定要为奇数(因为奇数个奇数相加是奇数)
然而m是偶数,即使在不使坏的情况下,无论翻转多少个回合,总翻转次数也一定是偶数,
所以在这种情况下是不可能赢得游戏的.答案是No
(2)n是偶数
同理,完成时所有硬币都一定要被翻转了奇数次,但是n是偶数,所以总翻转次数一定要为偶
数,在不被使坏的情况下,至少有可能完成,但是除去n=m的情况外,只要在第一回合后立即
被使坏,不管翻转哪一个硬币,都会使得总翻转次数由总是偶数变成总是奇数,和n为奇数
时原理相同,也不可能赢得游戏,答案是No
结论: n=m时答案是Yes,否则答案是No

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
using namespace std;
ll n,m;
int main()
{int t;cin>>t;while(t--) {scanf("%lld%lld",&n,&m);if(n == m) puts("Yes");else puts("No");}return 0 ;}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opera android 7,Opera迷你浏览器 Opera Mini 7

包名&#xff1a;com.opera.mini.android全新的界面Opera Mini 6在所有地方都有了全新的形象.新的设计、新的皮肤,还有新的缩放和跳转按键,这都让Opera Mini 6变得更加好用分享功能Opera Mini 6中你可以将感兴趣的内容分享到你所在社交平台中去触屏的双指缩放这次Opera也支持触…

【POJ - 1456】Supermarket (贪心,优先队列 或并查集)

题干&#xff1a; A supermarket has a set Prod of products on sale. It earns a profit px for each product x∈Prod sold by a deadline dx that is measured as an integral number of time units starting from the moment the sale begins. Each product takes precis…

【CodeForces - 558C】Amr and Chemistry(位运算,bfs,计数,思维,tricks)

题干&#xff1a; Amr loves Chemistry, and specially doing experiments. He is preparing for a new interesting experiment. Amr has n different types of chemicals. Each chemical i has an initial volume of ailiters. For this experiment, Amr has to mix all th…

axure 转换为html,AxureRP教程AxureRP如何生成HTML文件

1.正常打开一份已经设计好的RP&#xff0c;如下截图所示&#xff1a;2.点击上方菜单的“发布”按钮&#xff0c;在弹出的选项中单击“生成HTML文件”&#xff0c;详细操作如下图标红位置。3.在弹出的新窗口中&#xff0c;可以设定HTML文件保存的文件夹位置&#xff0c;这个位置…

【牛客 - 373B】666RPG(线性计数dp)

题干&#xff1a; 链接&#xff1a;https://ac.nowcoder.com/acm/contest/373/B 来源&#xff1a;牛客网 在欧美&#xff0c;“666”是个令人极其厌恶和忌讳的数&#xff0c;被称为“野兽数”。 相传&#xff0c;尼禄&#xff0c;这位历史上以暴君著称的古罗马皇帝&#xff0…

我家云刷android系统教程,我家云刷机教程——小白详细版(篇二)

#大男孩的快乐#征稿活动火热进行中。只要投稿就有50金币等你拿&#xff0c;更有三千元乐高大奖与达人Z计划专属权益等待优秀的你~>活动详情戳这里<前两天发了一篇我家云的刷机教程&#xff0c;没想到大家这么有兴趣&#xff0c;讨论的异常激烈。看了大家的评论才发现之前…

【Loj - 515】贪心只能过样例(暴力,或01背包 + bitset)

题干&#xff1a; 题目描述 输入格式 第一行一个数 n。 然后 n 行&#xff0c;每行两个数表示 ai​,bi​。 输出格式 输出一行一个数表示答案。 样例 样例输入 5 1 2 2 3 3 4 4 5 5 6 样例输出 26 数据范围与提示 解题报告&#xff1a; 注意到要求统计种类数&#xf…

html5文件域的自动获取,HTML5 文件域+FileReader 读取文件(一)

在HTML5以前&#xff0c;HTML的文件上传域的功能具有很大的局限性&#xff0c;这种局限性主要体现在如下两点&#xff1a;每次只能选择一个文件进行上传客户端代码只能获取被上传文件的文件路径&#xff0c;无法访问实际的文件内容一、FileList对象和File对象HTML5为typefile 的…

计算几何 模板

计算几何模板&#xff1a; #include<iostream> #include<algorithm> #include<queue> #include<cstdio> #include<map> #include<vector> #include<set> #include<string> #include<cmath> #include<cstring> #d…

html中如何让三个方块并排,html – 并排设置两个div,然后设置第三个div

我如何并排设置两个div,而下面的第三个div设置为这样.我当前的代码如下所示,将div放在name div之后Name6:30 PMNoteCSS&#xff1a;#contact_table_data {width:inherit;height:inherit;background-color:#99cc33;max-width:400px;}#info_div_name {width:auto;height:auto;pad…

【ZOJ - 4019】Schrödinger's Knapsack (dp,背包,贪心,组内贪心组间dp)

题干&#xff1a; 有两种物品&#xff0c;k分别为k1&#xff0c;k2&#xff0c;有大小各不一的这两种物品若干&#xff0c;放入容量为c的背包中&#xff0c;能获得求最大的值。放的顺序会影响结果。每次放入一物品&#xff0c;其获得的值都可以用vkr计算&#xff0c;r表示放入…

html 闪烁字,HTML最简单的文字闪烁代码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Titlekeyframes blink{0%{opacity: 1;}50%{opacity: 1;}50.01%{opacity: 0;}100%{opacity: 0;}}-webkit-keyframes blink {0% { opacity: 1; }50% { opacity: 1; }50.01% { opacity: 0; }100% { opacity: 0; }}-moz-keyframes blin…

【ZOJ - 4020 】Traffic Light (bfs,分层图)

题干&#xff1a; n*m矩阵a.若a[i][j]1则可以往左右走,若a[i][j]0 则可以往上下走. 每一秒可以按上述规则移动,并且每秒钟矩阵所有的值翻转。 n*m<1e5.问从(sx,sy)到(tx,ty)的最短时间. 解题报告&#xff1a; 这题因为不带权值所以不需要考虑Dijkstra&#xff0c;可以根据…

在计算机应用中mis,在计算机的应用中,“MIS”表示

阅读下列材料&#xff0c;回答有关问题&#xff1a;地理信息系统(GIS)&#xff0c;也称作地理资讯系统&#xff0c;是一门综合性学科&#xff0c;已经广泛地应用在不同的领域&#xff0c;是用于输入、存储、查询、分析和显示地理数据的计算机系统。GIS属于信息系统的一类&#…

【牛客 - 369C】小A与欧拉路(bfs树的直径)

题干&#xff1a; 链接&#xff1a;https://ac.nowcoder.com/acm/contest/369/C 来源&#xff1a;牛客网 小A给你了一棵树&#xff0c;对于这棵树上的每一条边&#xff0c;你都可以将它复制任意&#xff08;可以为0&#xff09;次&#xff08;即在这条边连接的两个点之间再…

html loader的作用,webpack认识loader的作用

举例&#xff1a;如果希望在.html文件中使用style.css样式&#xff0c;我们以前只学习过一种方式&#xff1a;直接在.html中通过link的方式来引入 &#xff0c;这是传统的做法&#xff0c;在webpack语境下&#xff0c;我们将选择一条不同的道路&#xff1a;在js文件中引入了css…

【牛客 - 188C】水图(bfs树的直径,思维)

题干&#xff1a; 链接&#xff1a;https://ac.nowcoder.com/acm/contest/188/C 来源&#xff1a;牛客网 小w不会离散数学&#xff0c;所以她van的图论游戏是送分的 小w有一张n个点n-1条边的无向联通图,每个点编号为1~n,每条边都有一个长度 小w现在在点x上 她想知道从点x出…

5可视化数据大屏模板_可视化大屏模板分享

3个月前的一天&#xff0c;老板找到我&#xff1a;“小王&#xff0c;数据怎么才能产生让人惊艳的感觉呢&#xff1f;”我说&#xff1a;“肯定是用代码让程序员操作一下&#xff0c;再让设计师做一下配色&#xff0c;最好还能是数据实时变化的那种&#xff0c;简直就和电影里一…

delphi webbrowser 显示 html,delphi webbrowser

delphi 怎么判断webbrowser打开网页成功?unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, OleCtrls, SHDocVw; type TForm1 class(TForm) WebBrowser1: TWebBrowser; Button1: TButton; Edit1: …

【蓝桥杯官网训练 - 历届试题】对局匹配(dp,思维,取模)

题干&#xff1a; 问题描述 小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分&#xff0c;代表他的围棋水平。   小明发现网站的自动对局系统在匹配对手时&#xff0c;只会将积分差恰好是K的两名用户匹配在一起。如果两人分差小于或大于K&#…