bzoj 3609: [Heoi2014]人人尽说江南好 数学

来源:互联网 发布:JAVA修改数组指定位置 编辑:程序博客网 时间:2024/05/09 08:30

        哈哈哈刷rank1好开心~\(≧▽≦)/~虽然最后还是rank2o(╯□╰)o

       可以证明任何人存在一种方案,使得最后剩下的为:m,m,......,m,n%m

       这样组数确定就可以确定先后手辣!怎么证明呢?显然如果原来是m,m,....m,那么新加入1个必然会让组数+1;否则由于第一步一定是1+1=2,而存在一个组数<m,那么就在这一组合并的第一步1+1=2变成1+2=3就好辣~~~

AC代码如下:

#include<cstdio>using namespace std;int main(){int cas,n,m; scanf("%d",&cas);while (cas--){scanf("%d%d",&n,&m); puts(((n-(n+m-1)/m)&1)?"0":"1");}return 0;}

安利一个pascal刷rank的版本>w<:

var c,n,m:dword;begin read(c);repeat c:=c-1;read(n,m);writeln((n-(n-1)div m)and 1)until c=0 end.

by lych

2016.4.15


0 0