一个长度为L米的材料,需要截成长度为a米和b米的短材料,求两种短材料各截多少根时,剩余的材料最少。
输入
数据有多行,每行三个整数,分别是L,a,b;
输出
每行输出截出a长度和截出b长度材料的根数,结果有多个时,只输出总根数最少或最长材料根数最少的数据。
样例输入
10 2 3
样例输出
2 2
我的怎么错了,求大神。
#include <iostream>
using namespace std;
int main()
{
int maxa,maxb,l,x,y,min,n,m,i,j,sheng;
while(cin>>l>>n>>m)
{
min=10000;
maxa=l/n;
maxb=l/m;
if(m>n)
{
int t=n;//判断大小
n=m;
m=t;
}
for(i=0;i<=maxa;i++)
for(j=0;j<maxb;j++)
{
sheng=l-i*n-j*m;
if(sheng<0)
continue;
else
{
if(sheng<=min)
{
min=sheng;
x=i;
y=j;
if(i<x)
{
min=sheng;
x=i;
y=j;
}
}
}
}
cout<<x<<" "<<y<<endl;
}
return 0;
}来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4479/viewspace-3130002/ ,如需转载,请注明出处,否则将追究法律责任。