题解 CF898B 【Proper Nutrition】

本题的确可以用 exgcd 做,但对于数论不扎实的而言 exgcd 求的是形如 ax+by=n\large ax+by=n 的通解,即 x,yZ\large x,\, y \in Z,本题求的是 x,y0\large x,\, y \ge 0 的解,所以直接来个 O(an)\Large O(\frac{a}{n}) 的暴力就好了。

代码:

#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
	int a, b, n;
	cin >> n >> a >> b;
	for (register int i = 0; i <= n / a; i++)
	{
		if ((n - i * a) % b == 0)
		{
			cout << "YES\n";
			cout << i << " " << (n - i * a) / b << endl;
			//system("pause");
			return 0;
		}
	}
	cout << "NO\n";
	//system("pause");
	return 0;
}
posted @   HappyBobb  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示