Java 洛谷 P1909 买铅笔讲解
生活随笔
收集整理的這篇文章主要介紹了
Java 洛谷 P1909 买铅笔讲解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
P老師需要去商店買n支鉛筆作為小朋友們參加NOIP的禮物。她發現商店一共有 33種包裝的鉛筆,不同包裝內的鉛筆數量有可能不同,價格也有可能不同。為了公平起 見,P老師決定只買同一種包裝的鉛筆。
商店不允許將鉛筆的包裝拆開,因此P老師可能需要購買超過nn支鉛筆才夠給小朋 友們發禮物。
現在P老師想知道,在商店每種包裝的數量都足夠的情況下,要買夠至少nn支鉛筆最少需要花費多少錢。
輸入格式
第一行包含一個正整數nn,表示需要的鉛筆數量。
接下來三行,每行用22個正整數描述一種包裝的鉛筆:其中第11個整數表示這種 包裝內鉛筆的數量,第22個整數表示這種包裝的價格。
保證所有的77個數都是不超過1000010000的正整數。
輸出格式
11個整數,表示P老師最少需要花費的錢。
輸入輸出樣例
輸入
57
2 2
50 30
30 27
輸出
54
輸入
9998
128 233
128 2333
128 666
輸出
18407
輸入
9999
101 1111
1 9999
1111 9999
輸出
89991
代碼實例:
import java.util.Arrays; import java.util.Scanner;public class Main{public static void main(String args[]) {Scanner scanner = new Scanner(System.in);int required = scanner.nextInt();//required表示需要的鉛筆數量/*** a存儲兩個整數* 其中第1個整數表示這種包裝內鉛筆的數量* 第2個整數表示這種包裝的價格* 一共3行,2列*/int a[][] = new int[3][2];int sum[] = new int[3];//sum表示P老師需要購買多少件當前包裝類型的鉛筆int c[] = new int[3];//c表示P老師購買之后的總價格for (int i = 0; i < 3; i++) {a[i][0] = scanner.nextInt();a[i][1] = scanner.nextInt();// 輸入對應的價格if (required % a[i][0] != 0) {sum[i] = (required / a[i][0]) + 1;} else {sum[i] = required / a[i][0];}c[i] = sum[i] * a[i][1];}Arrays.sort(c);//將3行數據排序按照從小到大System.out.println(c[0]);//取最小的scanner.close();} }總結
以上是生活随笔為你收集整理的Java 洛谷 P1909 买铅笔讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 洛谷 P1089 津津的储蓄计
- 下一篇: Java洛谷P5461 赦免战俘讲解