
求解代码
java
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StreamTokenizer in = new StreamTokenizer(br);
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
in.nextToken();
int t = (int) in.nval;
for (int i = 0; i < t; i++) {
in.nextToken();
int n = (int) in.nval;
in.nextToken();
int m = (int) in.nval;
if(n%(m+1)==0){
out.println("NO");
}else{
out.println("YES");
}
}
out.flush();
out.close();
br.close();
}
小贴士
-
若
n = k*(m+1)(即n%(m+1)==0):无论先手取x个(1≤x≤m),后手都可以取(m+1)-x个,最终后手总能取到最后一个物品 ➡️ 先手必败; -
若
n ≠ k*(m+1):先手可以先取n%(m+1)个,让剩余物品数为k*(m+1),此时后手陷入必败局面➡️先手必胜。