JZOJ 5473. 【NOIP2017提高组正式赛】小凯的疑惑
生活随笔
收集整理的這篇文章主要介紹了
JZOJ 5473. 【NOIP2017提高组正式赛】小凯的疑惑
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
小凱手中有兩種面值的金幣,兩種面值均為正整數且彼此互素。每種金幣小凱都有無數個。在不找零的情況下,僅憑這兩種金幣,有些物品他是無法準確支付的。現在小凱想知道在無法準確支付的物品中,最貴的價值是多少金幣?注意:輸入數據保證存在小凱無法準確支付的商品。Input
輸入數據僅一行,包含兩個正整數 a 和 b,它們之間用一個空格隔開,表示小凱手中金幣的面值。Output
輸出文件僅一行,一個正整數 N,表示不找零的情況下,小凱用手中的金幣不能準確支付的最貴的物品的價值。Sample Input
【輸入樣例 1】
3 7
Sample Output
【輸出樣例 1】
11
【輸入輸出樣例 1 說明】
小凱手中有面值為3和7的金幣無數個,在不找零的前提下無法準確支付價值為1、2、4、5、8、11 的物品,其中最貴的物品價值為 11,比 11 貴的物品都能買到,比如:
12 = 3 * 4 + 7 * 0
13 = 3 * 2 + 7 * 1
14 = 3 * 0 + 7 * 2
15 = 3 * 5 + 7 * 0
……
Data Constraint
對于 30%的數據: 1 ≤ a,b ≤ 50。
對于 60%的數據: 1 ≤ a,b ≤ 10,000。
對于 100%的數據:1 ≤ a,b ≤ 1,000,000,000。
Solution
顯然,答案為
(a?1)?(b?1)?1即
a?b?a?b
Code
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; int read() {int X=0,w=1; char ch=0;while(ch<'0' || ch>'9') {if(ch=='-') w=-1;ch=getchar();}while(ch>='0' && ch<='9') X=(X<<3)+(X<<1)+ch-'0',ch=getchar();return X*w; } int main() {int n=read(),m=read();long long ans=(long long)n*m;printf("%lld",ans-n-m);return 0; }總結
以上是生活随笔為你收集整理的JZOJ 5473. 【NOIP2017提高组正式赛】小凯的疑惑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JZOJ 5474. 【NOIP2017
- 下一篇: JZOJ 5475. 【NOIP2017