题解 | 买橘子
买橘子
https://www.nowcoder.com/practice/73e0552b78474a9086781e47f4e01d73
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int sum=-1;
if(n<6||n%2!=0)
sum=-1;
// else if(n==6 || n==8)
// sum=1;
else{
for(int i=0;i<=n/8;i++){
for(int j=0;j<=n/6;j++){
if(i*8+j*6==n){
sum=i+j;
}
}
}
}
cout<<sum;
return 0;
}
这个题解呢,还是很暴力的。但是有个巧妙之处在于不用额外考虑袋子最少问题,因为最外层循环能保证最大容量的袋子最大。
查看16道真题和解析