欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

C/C++ 木材加工

发布时间:2023/12/8 c/c++ 67 豆豆
生活随笔 收集整理的这篇文章主要介绍了 C/C++ 木材加工 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目描述

木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小段的数目是给定了。当然,我们希望得到的小段越长越好,你的任务是计算能够得到的小段木头的最大长度。木头长度的单位是厘米。原木的长度都是正整数,我们要求切割得到的小段木头的长度也要求是正整数。

输入

第一行是两个正整数N和K(1 ≤ N ≤ 10000, 1 ≤ K ≤ 10000),N是原木的数目,K是需要得到的小段的数目。
    接下来的N行,每行有一个1到10000之间的正整数,表示一根原木的长度。
 

输出

输出能够切割得到的小段的最大长度。如果连1厘米长的小段都切不出来,输出"0"。

样例输入

3 7 232 124 456

样例输出

114 #include<iostream> #include<algorithm> using namespace std; int main() {int n,m,a[100],i,j,t=0,x,y;cin>>n>>m;for(i=0;i<n;i++){ cin>>a[i]; }sort(a,a+i);x=a[i-1];for(j=0;j<i;j++){y=a[j];while(y>=0){y-=x;if(y>=0)t++;}if(t>=m){ printf("%d\n",x); break; }if(j+1==i){ j=-1;x--;t=0;}if(x==0){printf("%d\n",0); break;}} }#include<stdio.h> int main(){int n,k,t=10000,a[1005],i,s=0;scanf("%d%d",&n,&k);for(i=0;i<n;i++){scanf("%d",&a[i]);if(a[i]<t){t=a[i];}}while(1){for(s=0,i=0;i<n;i++){s+=a[i]/t;} if(s==k) break;else t--;} printf("%d\n",t); }

 

总结

以上是生活随笔为你收集整理的C/C++ 木材加工的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。