Codeforces Round 870 (Div. 2)C. Dreaming of Freedom(数论、约数)

C. Dreaming of Freedom

题意:给定n个程序员,m个算法,每个人只能为一个算法投票,经过每轮投票后都只留下得票最高的程序,问最后会不会陷入循环,即出现几个程序平票的情况。

思路:我们考虑题目中无解的情况,即出现两个即以上的程序平票,也即在2~m中有n的因子,这样我们就可以去枚举n的因子判断是否在2, m内,即可,需要注意的是当n是一个质数时需要判断是否n<m,如果n<m也是有解的

cpp 复制代码
#include <bits/stdc++.h>
#define LL long long
#define x first
#define y second
 
using namespace std;
const int N = 2e5 + 10;
LL n, m, t;

void solve()
{
	cin >> n >> m;
	if(n <= m && n != 1)
	{
		puts("NO");
		return;
	}
	for(int i = 2; i <= n / i; ++ i)
		if(n % i == 0 && i <= m)
		{
			puts("NO");
			return;
		}

	puts("YES");
}

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
//	freopen("1.in", "r", stdin);
	cin >> t;
	while(t --)	solve();
	return 0;
}
相关推荐
布莱克6058 分钟前
C++中的内存分区详解
c++
All for pursuit.34 分钟前
【链表-9】146.LRU缓存
数据结构·c++·算法·leetcode
木子算法34 分钟前
测出来的值会抖:约束和目标带噪声时,「可行」和「更好」该怎么判
人工智能·算法·目标跟踪
shmily麻瓜小菜鸡1 小时前
TDD(测试驱动开发)详解
开发语言·javascript·typescript·node.js·ecmascript
三克的油2 小时前
java-学习1
java·开发语言·学习
j7~2 小时前
【C++微服务项目开发脚手架】(接口篇一)gflags + gtest + spdlog 接口学习笔记
c++·学习·gtest·项目开发·spdlog·gflags·c++项目微服务开发脚手架
剑指offer.2 小时前
嵌入式硬件-ARM芯片的启动
c语言·嵌入式硬件·嵌入式
hanlin032 小时前
刷题笔记:力扣第144题-二叉树的前序遍历
笔记·算法·leetcode
金士曼2 小时前
从规则到涌现:算法认知的三个层次
算法
星期八不上发条2 小时前
智能指针是什么?使用场景,循环引用解决办法,面试回答
开发语言·c++·stl