博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XJOI 3404 刷油漆 题解
阅读量:5114 次
发布时间:2019-06-13

本文共 904 字,大约阅读时间需要 3 分钟。

时间:1s 空间:128M

题目描述:

从1到n有n块砖需要刷油漆,砖的编号被a整除的要被刷成红色,被b整除的被刷成蓝色,同时被a,b整除的既可以被刷成红色,也可以被刷成蓝色。等你刷完后,对于每块红色的砖,老板会奖励给你p个巧克力,对于每块蓝色的砖,老板奖励q个巧克力,问你最多能得到多少巧克力

输入格式:

输入五个整数n,a,b,p,q

输出格式:

输出一个整数

样例输入1:

5 2 3 12 15

样例输出1:

39

样例输入2:

20 2 3 3 5

样例输出2:

51

约定:

1<=n,a,b,p,q<=10^9

提示:

本题主要是抓住同时被A、B整除的砖块,让它们得到更多的巧克力。所以要求最小公倍数。可以用C++的STL轻松解决。具体代码如下:

#include 
#include
#include
#include
#include
#include
using namespace std ;int main ( ){ long long n , a , b , p , q ; scanf ( "%lld %lld %lld %lld %lld" , & n , & a , & b , & p , & q ) ; long long k = __gcd ( a , b ) ; //求最大公因数 k = a * b / k ; //求最小公倍数 k = n / k ; a = ( n / a - k ) * p ; b = ( n / b - k ) * q ; k = max ( p , q ) * k ; printf ( "%lld" , a + b + k ) ; return 0 ;}

相关链接:

XJOI 题解小全:

XJOI 1210 二项式展开 题解:

转载于:https://www.cnblogs.com/zj-mrz/p/10122480.html

你可能感兴趣的文章
为什么要使用boost::enable_shared_from_this<T>
查看>>
Hive分区(静态分区+动态分区)
查看>>
YY 6.27.0.0优化版
查看>>
400. Nth Digit(LeetCode)
查看>>
第一周作业
查看>>
学习笔记
查看>>
Django 项目一补充
查看>>
2018-10-11
查看>>
JY游戏开发,案例之 《下到一百层》,欢迎大家品赏。
查看>>
java代码示例(6-2)
查看>>
python爬虫Day1(requests基本使用)
查看>>
.jar文件无法运行的解决方法
查看>>
EF Code First建库 增删改查
查看>>
PHP 运行 php-fpm 报错
查看>>
Poj 2082 Terrible Sets
查看>>
html input 文本框的一些操作(限制输入...)
查看>>
教你如何查看自己操作系统是32位还是64位?XP系统【转】
查看>>
一位软件工程师的6年总结
查看>>
H.264的三种开源编码器比较
查看>>
【腾讯云的1001种玩法】 Laravel 整合微视频上传管理能力,轻松打造视频App后台...
查看>>