一起做过类似的,如果是以前的我的话,肯定会从0状态开始,打个表搞起。
现在想到了另外一种方法,把箱子看成装满钱的,每人从里面拿钱,最多拿m元,拿到最后一张的获胜。
#include<iostream>
using namespace std;
int main()
{
int T;
scanf( "%d",&T );
while( T-- )
{
int n,m;
scanf( "%d %d",&n,&m );
if( n%(m+1) )
printf( "Grass\n" );
else printf( "Rabbit\n" );
}
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int N,M;
while( scanf( "%d %d",&M,&N )!=EOF )
{
if( M%(N+1)==0 )
printf( "none\n" );
else
{
bool f=true;
for( int i=1;i<=N;i++ )
{
if( (M-i)%(N+1)==0|| i>=M )
{
if( f )
{
f=false;
printf( "%d",i );
}
else
printf( " %d",i );
}
}
printf( "\n" );
}
}
return 0;
}