STEVE - Voracious Steve dfs , 以及为什么不能博弈

SPOJ.com - Problem STEVE

STEVE - Voracious Steve - 洛谷

题意:

n个甜甜圈,两个人,每次没人最多拿m个。谁先拿完谁吃掉所有当前拿的,另一个人把手上的放回,再来第二轮...

思路:

为什么不能博弈:

博弈思路:

//0~m 直接吃
//让对手是m+1,对手不管选什么,都是我们吃
//m+2~2m+1 都可以让cur为m+1,在这个范围内的可以赢
//2m+2 败
//2m+3~3m+2 胜
//3m+3 败
// 
//km+k必败 -> 必败了,那我就尽可能多拿,让你少拿

//				cur
// km+k
//				(k-1)m+k
// (k-1)m+k-1
//				(k-2)m+k-1
//
//	m+1
//					1
//
//				  **k**

//下一轮 km

// m == 1
//			5
// 2+2
//			2+1
// 1+1
//			1
//			3
//

// 2
// 1+1
//			1
//			1

// 1

void solve()
{
	cin >> n >> m;
	int cur = n;
	int ans = 0;
	int k = 0;
	while (1)
	{
		while (1)
		{
			k = cur / m;
			if (cur == k * m + k)
			{
				cur = k * m;
			}
			else
			{
				while (cur - k * m < k)
				{
					k--;
				}
				if (cur == k * m + k)
				{
					cur = k * m;
					continue;
				}
				else if (cur - k * m > k)
				{
					ans += cur - (k * m + k);
				}
				if (k <= 0)break;
				ans += k;
				cur = k * m;
			}
			break;///
		}
		if (k <= 0)break;
		
		while (1)
		{
			k = cur / m;
			if (cur == k * m + k)
			{
				cur = k * m;
			}
			else
			{
				while (cur - k * m < k)
				{
					k--;
				}
				if (cur == k * m + k)
				{
					cur = k * m;
					ans += k;
					continue;
				}
				else if (cur - k * m > k)
				{

				}
				if (k <= 0)break;
				cur = k * m;
			}
			break;
		}
		if (k <= 0)break;
	}
	cout << ans << endl;
}

其实尽可能贪心了,但是无法预估下一轮是否我们是必败,要必败就亏了呀。而要处理这个,就没有普遍做法了。所以放弃吧~~

————

(待完成)

相关推荐

  1. STEVE - Voracious Steve dfs , 以及为什么博弈

    2024-03-27 13:44:01       45 阅读
  2. ping为什么加http

    2024-03-27 13:44:01       69 阅读
  3. STM32为什么跑Linux?

    2024-03-27 13:44:01       38 阅读
  4. static为什么修饰String类

    2024-03-27 13:44:01       37 阅读
  5. 【pytest】为什么使用__init__

    2024-03-27 13:44:01       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 13:44:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 13:44:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 13:44:01       87 阅读
  4. Python语言-面向对象

    2024-03-27 13:44:01       96 阅读

热门阅读

  1. nginx负载均衡模式

    2024-03-27 13:44:01       41 阅读
  2. 能否把 Redis 当做消息队列来用呢?

    2024-03-27 13:44:01       44 阅读
  3. Python的异常处理

    2024-03-27 13:44:01       40 阅读
  4. Jenkins Docker 部署指南

    2024-03-27 13:44:01       42 阅读
  5. SpringBoot集成FreeMarker时访问不到.ftl文件

    2024-03-27 13:44:01       39 阅读
  6. 掌握Mac常用命令,提升工作效率

    2024-03-27 13:44:01       44 阅读
  7. Spring设计模式-实战篇之模板方法模式

    2024-03-27 13:44:01       44 阅读
  8. P8687 [蓝桥杯 2019 省 A] 糖果

    2024-03-27 13:44:01       42 阅读
  9. AI:143-基于深度学习的实时视频人物识别与跟踪

    2024-03-27 13:44:01       38 阅读
  10. Python3爬取2023省市区

    2024-03-27 13:44:01       41 阅读