1. 程式人生 > >計蒜客 2017 NOIP 提高組模擬賽(二)Day1 A. 鄰家男孩

計蒜客 2017 NOIP 提高組模擬賽(二)Day1 A. 鄰家男孩

一道非常水的博弈論題目。 觀察樣例給出的最優方案,就是凡打出牌的時候鄰家男孩不出牌,直到凡打出最後一張牌的時候鄰家男孩開始出牌,這樣對兩者的方案都是最優的。所以可以得到
n=(a-1)-(b+1) //a為凡,b為鄰家男孩
n=a+b-2
同時需要注意,當a或者b等於0的時候需要特判,然後輸出a-b AC程式碼:
#include<cstdio>
using namespace std;
int main()
{
    int n,a,b;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&a,&b);
        if(a==0||b==0) printf("%d\n",a-b); else
        printf("%d\n",a-b-2);
    }
    return 0;
}