题目链接:https://jzoj.net/senior/#main/show/5407
先考虑双方水晶都为1的情况,显然先手会输给对手两分。
感性理解,先手吃亏。。。所以先手每次给出一个水晶,后手都会让先手得到这一分来保住自己后手的地位(先手得到A-1分),直到先手把最后一个水晶给了出来,后手也开是给出水晶,那么后手所有的水晶和先手最后一个水晶都转化为后手的分(B+1分)。答案就是A-B-2。
特判A==0或B==0,答案为A-B。
代码:
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int ca;
scanf("%d",&ca);
while(ca--)
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a-b-2*(a!=0)*(b!=0));
}
return 0;
}