日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LuoGu P1909 买铅笔???

發(fā)布時(shí)間:2025/5/22 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LuoGu P1909 买铅笔??? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目描述

  P老師需要去商店買n支鉛筆作為小朋友們參加NOIP的禮物。她發(fā)現(xiàn)商店一共有 3種包裝的鉛筆,不同包裝內(nèi)的鉛筆數(shù)量有可能不同,價(jià)格也有可能不同。為了公平起 見,P老師決定只買同一種包裝的鉛筆。

  商店不允許將鉛筆的包裝拆開,因此P老師可能需要購買超過n支鉛筆才夠給小朋 友們發(fā)禮物。

  現(xiàn)在P老師想知道,在商店每種包裝的數(shù)量都足夠的情況下,要買夠至少n支鉛筆*最少*需要花費(fèi)多少錢。

輸入格式:

  輸入的第一行包含一個(gè)正整數(shù)n,表示需要的鉛筆數(shù)量。

  接下來三行,每行用兩個(gè)正整數(shù)描述一種包裝的鉛筆:其中第一個(gè)整數(shù)表示這種 包裝內(nèi)鉛筆的數(shù)量,第二個(gè)整數(shù)表示這種包裝的價(jià)格。

  保證所有的7個(gè)數(shù)都是不超過10000的正整數(shù)。

輸出格式:

  輸出一行一個(gè)整數(shù),表示P老師最少需要花費(fèi)的錢。

鏈接?https://www.luogu.org/problemnew/show/1909

  說實(shí)話吧,這個(gè)題確實(shí)不太想寫(大水題兒??居然還因?yàn)?x3fWA了一次。。。真是智障了@_@),可是機(jī)房的小伙伴居然有不會(huì)的。。。只能勉為其難了==

   這個(gè)題確實(shí)沒太有什么難點(diǎn),就是學(xué)了幾個(gè)周的小伙伴都能有思路,一共有三種包裝,每一種包裝里都會(huì)包含一定數(shù)量的鉛筆,并有一定的價(jià)格,我們用n整除一下x,就會(huì)的到最少需要買這種包裝的數(shù)量,然后將n/x在乘上y(包裝的價(jià)格),就會(huì)得出只買這種包裝最少需要的錢,一共三次,取這三次的最小值即可。

?

1 #include<cstdio> 2 #include<iostream> 3 using namespace std; 4 int main() 5 { 6 int n,m,ans=0x3fffffff,x,y; 7 scanf("%d",&n); 8 for(int i=1;i<=3;i++){ 9 scanf("%d%d",&x,&y);//x表示每個(gè)包裝內(nèi)鉛筆的數(shù)量,y表示每個(gè)包裝的價(jià)格; 10 m=n/x; 11 ans=min(ans,m*y); 12 } 13 printf("%d\n",ans); 14 return 0; 15 } 點(diǎn)擊查看代碼

?

  但是,我們漏了一個(gè)很重要的地方,也就是說,上面的代碼是錯(cuò)誤的解法(想一下為什么)。

  答案是:我們將 n/x (整除)將會(huì)的到下取整的答案,舉個(gè)例子吧,當(dāng)一共需要買 25(n) 只鉛筆時(shí),這種包裝每個(gè)單位中有包含 17(x) 支鉛筆,所以n/x會(huì)得到 1 而不是我們想要的 2 。但是如果是 n=25、x=5時(shí),我們恰好能得到我們想要的答案(n/x) 5 ,也就是說當(dāng)n能夠整除x時(shí) ?if(n%x==0),我們恰好能得到想要的答案,但 ?if(n%x!=0),我們會(huì)得到比想要的答案小 1 的結(jié)果,我們便需要將得到的 n/x ++。所以加上第二個(gè)if語句特判一下就可以完美的解決這個(gè)問題了!

?

1 #include<cstdio> 2 #include<iostream> 3 using namespace std; 4 int main() 5 { 6 int n,m,ans=0x3fffffff,x,y; 7 scanf("%d",&n); 8 for(int i=1;i<=3;i++){ 9 scanf("%d%d",&x,&y);//x表示每個(gè)包裝內(nèi)鉛筆的數(shù)量,y表示每個(gè)包裝的價(jià)格; 10 m=n/x; 11 if(n%x) m++; 12 ans=min(ans,m*y); 13 } 14 printf("%d\n",ans); 15 return 0; 16 } 這才是正確代碼==

?

轉(zhuǎn)載于:https://www.cnblogs.com/RisingGods/p/8127275.html

總結(jié)

以上是生活随笔為你收集整理的LuoGu P1909 买铅笔???的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。