。请判断无论怎样投票评选都会结束吗?

在参加评选最佳打码选手的会议,一共有n个评委,几个选手,每轮投票每个评委都会在剩下的选手中选一个人。在第一轮投票前,有m个选手可以选择;每轮投票后,只保留有最多票数的选手;当只剩下一个选手时,评选结束。
请判断无论怎样投票评选都会结束吗?

img

两种情况
1、当n = 1 时,无论有多少个选手m,只有一个评委无法进行投票,因此评选一定会结束。此时输出"YES"。
2、当n > 1 时,我们需要判断在每一轮投票后,剩下的选手数量是否会减少。


#include <iostream>

using namespace std;

int main() {
    int T;
    cin >> T;
    
    while (T--) {
        int n, m;
        cin >> n >> m;
        
        if (n == 1) {
            cout << "YES" << endl;
        } else {
            int maxPlayers = m;
            while (maxPlayers > 1) {
                maxPlayers = (maxPlayers + n - 2) / n;
            }
            
            if (maxPlayers == 1) {
                cout << "YES" << endl;
            } else {
                cout << "NO" << endl;
            }
        }
    }
    
    return 0;
}


都会结束

def judge_evaluation(n, m):
    if n >= m:
        return "YES"
    else:
        return "NO"

# 示例输入
n, m = 3, 2
print(judge_evaluation(n, m))  # 输出为 "YES"


如果n>m且n和m互质,则无论如何都会结束
否则有可能不会结束
比如n=4,m=2,那么总是2:2的话就没法结束
如果n<=m则每人一票的话永远都无法结束