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) 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章