fzu 2221 Running man 数学 思维

思路:

在给定两队人数的情况下,三局两胜制,相同人数下runningman获胜,无论对手怎么安排,问runningman会不会胜利。

假设对方的人数是m,分为奇数偶数两种情况讨论。

极端情况下,对方用0去对待runningman人数最多的一次。剩下两局中runningman要赢一局。

对方安排  --- 0 , x , y ,x>=y.

man        --- a , b , c ,a>=b>=c.

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <queue>
#include <vector>
#include <cmath>
#include <stack>
#include <iostream>
using namespace std;

int main(void)
{
    int T, n, m;
    cin >> T;
    while (T--){
        cin >> n >> m;
        if ( m%2==1&& n>=(m/2)*3 || m%2==0 && n>=(m/2)*3-1 ) cout<<"Yes"<<endl;
        else cout<<"No"<<endl;
    }

    return 0;
}

(x,y)对应的情况是(1,m-1),(2,m-2),...,(m/2,m/2) ,那么abc的就是(m/2,m/2,m/2-1) 可以是最少的人数保证胜利。

m为奇数的时候也可以对应分析出来是 (m/2,m/2,m/2) 

猜你喜欢

转载自blog.csdn.net/Peppermint__/article/details/80050723
man