思路:
在给定两队人数的情况下,三局两胜制,相同人数下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)