P4101 人人尽说江南好

2024-05-11 00:58
文章标签 人人 江南 p4101 尽说

本文主要是介绍P4101 人人尽说江南好,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接:P4101 人人尽说江南好

算法分析

无论怎么操作,最终合并的次数为奇数,则先手胜,否则先手败。先假设一种合并方案,双方尽量合并成 m m m,然后再从1开始合并。这样总共的合并次数为: c n t = n / m ∗ ( m − 1 ) + ( ( n % m ) ? ( n % m − 1 ) : 0 ) cnt = n/m*(m-1)+((n \% m)?(n\% m-1):0) cnt=n/m(m1)+(n%m)?(n%m1):0。我们称此为套路。

如果此时cnt为奇数,我们知道先手胜。先手必胜,肯定会按照套路走,如果后手不按照套路出牌呢?讨论下:

最大堆石子数 < = m − 2 <=m-2 <=m2

  1. 后手将1和最大堆合并,这是按照套路走的,先手继续按照套路走即可。

  2. 后手将两个1合并,得到一个为2的堆,先手将这个为2的堆和最大堆合并,将后手的思路拉回到套路上来。

最大堆石子数等于 m − 1 m-1 m1

  1. 后手将1和最大堆合并,没有区别。

  2. 后手合并两个1,得到一个为2的堆,先手将1合并到最大堆,此时最大堆已满。后面又可以按照套路来了。

无论怎么操作,先手都可以稳住套路,保证最后的合并次数不变。

后手胜的情况也是一样的。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
#define ll long long 
ll n, m, cnt;
int main()
{int T;scanf("%d", &T);while (T--){scanf("%lld%lld", &n, &m);cnt = n / m * (m - 1) + ((n % m) ? (n % m - 1) : 0); // ?:运算符得用括号,否则错  if (cnt & 1) printf("0\n");	else printf("1\n");}return 0;
}

反思与总结

  1. 在用条件运算符时,整体得加括号,否则错误。

  2. 该题思路:确定一种方案,证明其他方案最终和该方案等效。

这篇关于P4101 人人尽说江南好的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/978058

相关文章

人人都会爱上的高效神器

如果你还在使用 Word 写文章做笔记,利用它的富文本编辑器满足样式需求,那么你该考虑换一种方式,投入到 Markdown 的怀抱中了。 什么是 Markdown 呢?喜欢码字的朋友,常常因为文字的排版而不能专注于文字的写作。而 Markdown 作为一种轻量级的标记语言,通过简单的标记使普通的文本具有一定文本格式,来实现对文本的编辑和排版。 使用 Markdown 有什么好处呢? 1. 码字

这个网址导航网站,人人电脑必备,值得推荐!

今天和大家分享一个非常好用的网址导航网站-办公人导航。这个网站可以说是一个在线工具大全网,免费资源网站合集网,优秀免费软件资源网,素材资源网,在线学习网站合集网等,收录了大量的优质网站,软件以及资源,可以极大的提高我们的上网效率,值得收藏。 办公人导航-实用的办公生活导航网站!办公人导航是一个实用的办公生活导航网站,致力于分享优质的网站网址及软件资源等内容,帮助大家节省时间,提高办公生活效率!找

白酒与爱情:酒不醉人人自醉

在爱情的浪漫世界里,白酒似乎总能以其不同的方式,为这份情感增添几分诗意与韵味。它不仅仅是酒,更是情感的催化剂,让人在微醺之间,感受到爱情的美好与纯真。今天,我们就来探讨一下白酒与爱情之间那“酒不醉人人自醉”的奇妙关系。 一、白酒,爱情的浪漫使者 白酒,作为中国传统的瑰宝,其历史悠久、文化底蕴深厚。在爱情的世界里,白酒如同一位浪漫的使者,为恋人们传递着彼此的深情厚意。它不需要华丽的言辞,只需

一分钟读懂低代码:为什么人人都在谈论它?

在当今快速发展的数字化时代,企业和开发者们不断寻找更高效、更灵活的方式来构建和部署应用程序,低代码(Low-Code)平台因此应运而生,并迅速成为技术领域的热门话题。那么,低代码究竟是什么?它为何如此受欢迎?今天来简单聊一聊。 低代码是什么? 低代码是一种软件开发方法,允许用户通过最少的编码或完全无需编码来快速构建和部署应用程序。 低代码平台通常提供图形化的用户界面和拖放式的组件,使得开

江南带你看EventBus解说篇

订阅(注册):EventBus的EventBus.getDefault().register(this);就是便利当前类的所有方法,寻找以onEvent开头的放大,以键值队的形式存储。 发布:EventBus.getDefault().post(param); 发布很简单就是调用这个方法,然后EventBus就会在内部存储的方法中扫描,找到参数匹配的就会调用反射去执行,它的内部就是维持一个Ma

Python 修炼|人人编程手册|001 计算思维

在微信中阅读,关注公众号:CodeFit。 > 创作不易,如果你觉得这篇文章对您有帮助,请不要忘了 点赞、分享 和 关注,为我的 持续创作 提供 动力! 1. 计算思维 在我们正式开启 Python 修炼之旅前,先来了解一个关键的概念 —— 计算思维。 计算思维,其核心本质在于 抽象 和 自动化。 为了更清晰地理解这一概念,不妨通过一个经典的例子来感受一下这种思维,这个例子就是

人人都说地信就业难,GIS到底为什么就业难?2024年GIS毕业生就业有哪些方向?

GIS专业发展历史 我国从20世纪80年代初引进和研究地理信息系统(GIS) 以来,经过30年的飞速发展,地理信息已成为信息时代重要的组成部分之一,被广泛应用于多个领域的建模和决策支持。 在国家数字化政策的加持下,GIS更成为新基建下的不可或缺的重要技术之一。 地理信息系统的教育随着地理信息系统的广泛应用也有了跨越性的发展,自1999年全国开始招收地理信息系统本科专业以来,至今已超过160所

资源宝库网站!人人必备的神器!

面对网络中海量的内容,一个高效、便捷的网络导航工具,可以帮助我们快速查找使用网络资源。无论是职场精英还是学生党,使用导航网站都可以帮助我们提升效率。下面小编就来和大家分享一款资源宝库网站-办公人导航-实用的办公生活导航网站! 一、什么是办公人导航? 办公人导航是一个集合了各类办公软件、在线工具、学习网站、素材网站、资源搜索工具、资源网站、在线音乐,在线影视等多功能于一体的综合性网站。它旨在

【神奇的阿米巴哲学】不是打工人,人人都是经营者!

阿米巴经营是通过一个个小集体的独立核算来实现全员参与经营、凝聚全体员工力量和智慧的经营管理体系。 稻盛和夫经营的核心理念是阿米巴经营,这是一种独特的管理哲学,旨在通过全员参与经营的方式,实现企业的持续发展和员工的自我价值实现。 阿米巴经营的核心思想在于将企业划分为若干个独立核算、自主经营的小集体,即“阿米巴”。每个阿米巴都像一个小型公司一样运作,拥有明确的目标、收入和支出,并