描述:一堆石子有 n 個 ,兩個人開始輪流取,每人最多取m個,最少取1個,最後一個將石子取完的是贏家。
思路:對於先手來說,如果有(m+1)個石子,先手取 k 個,後手就可以取 m+1-k 個,所以有式子 n=(m+1)*r+s ,s<=m 時,先手可以將s先拿走,然後先手變成了後手 ,保持取r個回合,就一定能贏
擼代碼:
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int test,num,m;
scanf("%d",&test);
while(test--){
scanf("%d%d",&num,&m);
if(num%(m+1)<=m&&num%(m+1)){
printf("first\n");
}else {
printf("second\n");
}
}
return 0;
}