哈哈哈刷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