- 博客(5)
- 收藏
- 关注
原创 2021-01-31
取石子游戏(尼姆博弈) 题目如下: m堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎 样取子.例如5堆 5,7,8,9,10先取者胜,先取者第1次取时可以从有8个的那一堆取走7个剩下1个, 也可以从有9个的中那一堆取走9个剩下0个,也可以从有10个的中那一堆取走7个剩下3个. Input 输入有多组.每组第1行是m,m<=200000. 后面m个非零正整数.m=0退出. Output 先取者负输出No.先取者胜输出Yes,然后输出先取者第1次取子的所有方
2021-01-31 17:41:16
146
原创 2021-01-31
寒假小题(3)——不可摸数 题目如下:s(n)是正整数n的真因子之和,即小于n且整除n的因子和.例如s(12)=1+2+3+4+6=16.如果任 何 数m,s(m)都不等于n,则称n为不可摸数. Input 包含多组数据,首先输入T,表示有T组数据.每组数据1行给出n(2<=n<=1000)是整数。 Output 如果n是不可摸数,输出yes,否则输出no Sample Input 3 2 5 8 Sample Output yes yes no 解题思路:求出每个数的真因子之和与输入数据比较,
2021-01-31 17:17:40
90
原创 寒假(二)续
寒假小题——二分查找 题目如下: 比较直白的二分查找题目,要用到折半二分的思想。注意数组的大小,以及使用二分查找的条件,数据要有序。代码如下: #include<iostream> #include<algorithm> #include<math.h> using namespace std; int n,m,num[100000],mn[1000000]; int l,r,mid;//注意数组大小,要足够 int main() { cin>>n>
2021-01-17 17:57:10
116
原创 寒假(二)
寒假小题——取石子游戏 题目如下 这是一个博弈论相关的题目,相当于威佐夫博弈。 关键在于找出当中的规律即奇异态势,它有两个特点: 无法从一个奇异态势一步走到另一个奇异态势; 任何非奇异态势可以一步走到某一个奇异态势。 前几组例子分别为(0,0),(1,2),(3,5),(4,7),(6,10),(8,13)…满足: 1.各奇异局势间无重复元素; 2.步长(|a-b|)递增,各不相同 可以找出实例(a,b)中,关于a的通项公式,根据威佐夫博奕的结论可知: a=k*(1+sqrt(5.0)/2,要取整型值,其
2021-01-17 17:23:11
113
原创 寒假小题记录
**寒假补题——回文数** 题目思路比较简单,进制转换和判断回文数。注意一下数据的规模,用int型可能会有溢出,用long long类型可暴力解决问题。以下是代码: #include <iostream> using namespace std; long long func1(long long n,long long m){ long long result=0,temp=n,j=1; while(temp){...
2021-01-03 18:01:37
70
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人