当前位置:网站首页 / 算法 / 正文

每天acm练习:独木舟

时间:2015年06月24日 | 作者 : lovean | 分类 : 算法 | 浏览: 1765次 | 评论 0

独木舟.png

//乘船问题
//输入:
//测试的组数
//最大载重 人数
//输出,需要多少船

#include<stdio.h>

int main(){
        int n;//测试的组数
        int max1,num;//最大载重和人数
        int a[200];//最多人数
        int i,j;//循环计数
        int p,q;
        int z;
        int x,y;
        int sum;

        scanf("%d",&n);
        for(i=0;i<n;i++){
              scanf("%d",&max1);
              scanf("%d",&num);
              for(j=0;j<num;j++){
                scanf("%d",&a[j]);
              }
              //排序
              for(p=0;p<num;p++){
                for(q=p;q<num-p;q++){
                        if(a[q]>a[q+1]){
                                z=a[q+1];
                                a[q+1]=a[q];
                                a[q]=z;
                        }
                }

              }

        x=num-1;
        y=0;
        sum=0;
        while(y<x){
                if((a[x]+a[y])>max1){
                        sum=sum+1;
                        x=x-1;
                }else{
                        sum=sum+1;
                        x-=1;
                        y+=1;
                }
        }
        printf("%d",sum);

                /*显示
              for(i=0;i<num;i++){
                printf("%d\n",a[i]);
              }
                */
        }
return 0;
}




本站采用阿里云服务器,如果你也想使用阿里云服务器,可以点击领取代金券/优惠券



猜你喜欢

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

友情链接