大佬帮看看

P1909 [NOIP2016 普及组] 买铅笔

@[miqim](/user/966989) 变量 min 初始定义太大了
by zjhzs666 @ 2023-05-13 15:32:46


@[miqim](/user/966989) ```cpp #include<bits/stdc++.h> using namespace std; int n,a1,a2,b1,b2,c1,c2,pen1,pen2,pen3,x[3]; int main(){ cin>>n>>a1>>a2>>b1>>b2>>c1>>c2; while(pen1<n) { pen1+=a1; x[0]+=a2; } while(pen2<n) { pen2+=b1; x[1]+=b2; } while(pen3<n) { pen3+=c1; x[2]+=c2; } sort(x,x+3); cout<<x[0]; } ```
by zjhzs666 @ 2023-05-13 15:33:33


1. 数组是 ```a[4],b[4],c[4]```,不然会溢出 2. 是```if((n/a[i])*b[i]<min)``` 而不是```if(n/a[i]+1*b[i]<min)``` 。
by LiuTaifu @ 2023-05-13 15:36:09


@[zjhzs666](/user/866692) 你打的似乎和他的算法不符
by LiuTaifu @ 2023-05-13 15:37:30


@[LiuTaifu](/user/866523) 对的呢~~~其实是懒得看他的代码了,嘻嘻~~
by zjhzs666 @ 2023-05-13 15:45:25


@[LiuTaifu](/user/866523) 谢谢
by miqim @ 2023-05-13 15:51:01


@[zjhzs666](/user/866692) 谢谢
by miqim @ 2023-05-13 15:51:37


其实这道题不用数组的(可爱的while输入) ```cpp #include<bits/stdc++.h> using namespace std; int n,num,price,money[10005],cntm,mins=10000000; int main() { cin>>n; while(cin>>num>>price) { if(n%num==0) { money[++cntm]=n/num*price; } if(n%num!=0) { money[++cntm]=(n/num+1)*price; } } for(int i=1;i<=cntm;i++) { if(money[i]<mins) { mins=money[i]; } } cout<<mins; return 0; }
by Ilovemywinnie @ 2023-05-15 20:14:38


AC代码 ``` #include<bits/stdc++.h> using namespace std; int FindMinPrice(int n, int num ,int boxNum ,int price) { int min_price; boxNum = n / num; min_price = price * boxNum; if (n % num != 0)min_price += price; return min_price; } int main() { unsigned long long num1, num2, num3, price1, price2, price3, minPrice1, minPrice2, minPrice3, boxNum1, boxNum2, boxNum3; int n; cin >> n >> num1 >> price1 >> num2 >> price2 >> num3 >> price3; minPrice1 = FindMinPrice(n, num1,boxNum1, price1); minPrice2 = FindMinPrice(n, num2,boxNum2, price2); minPrice3 = FindMinPrice(n, num3,boxNum3, price3); if (minPrice1 > minPrice2)swap(minPrice1, minPrice2); if (minPrice2 > minPrice3)swap(minPrice2, minPrice3); if (minPrice1 > minPrice2)swap(minPrice1, minPrice2); cout << minPrice1; return 0; } ```
by Tim_the_best @ 2023-06-01 21:46:54


|