搜索
查看: 574|回复: 1
打印 上一主题 下一主题

题库中接水问题的疑惑

[复制链接]
跳转到指定楼层
楼主
发表于 2015-6-30 15:11:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
题库中接水问题中,题目中给定的样例输入都能得到正确结果,可是提交之后显示答案错误,求大神指导
#include<iostream>
using namespace std;
void jieshuiintaa,intbb;
int a,b,num=0;
    int*p=new int[a];
    int*p1=new int[a];

int main
{


    cin>>a>>b;         //a为节水人数,b为水龙头数
    forinti=0;i<a;i++
    {
                cin>>p[i];            //每个人节水节水所需时间
        }
        p1=p;
/*        forinti=0;i<a;i++
    {
                cout<<p1[i];            
        }*/
        jieshuia,b;     //计算节水时间
        cout<<num;   //输出所需总时间
        //delete []p;
        //delete []p1;
    return 0;

}

void jieshui (int aa,int bb)
{
        int t;
        ifaa<=bb
        {
                forinti=0;i<aa−1;i++
                {
                        int temp;
                        ifp[i]>p[i+1]
                        {
                                temp=p[i];
                                p[i]=p[i+1];
                                p[i+1]=temp;
                        }
                        
                 }
                 num+=p[aa-1];
                 return ;
        }
        else
        {
        
         forintz=0;z<bb−1;z++    //找出前bb个人中接水事件最少的
         {
                ifp1[z]<p1[z+1]
                {
                        t=p1[z];
                        p1[z]=p1[z+1];
                        p1[z+1]=t;
                }
               
         }
                        num+=p1[bb-1];
                        forinti=0;i<bb;i++
                        {
                            p[i]=(p[i]-p1[bb-1]);
                                ifp[i]==0
                                {
                                 
                                         forintj=i;j<aa;j++//删除接完水的
                                         {
                                                 p[j]=p[j+1];
                                         }
                                                 aa--;        
                                }
                        }        
                        jieshuiaa,bb;
        }
}
沙发
发表于 2015-7-26 15:05:12 | 只看该作者
[mw_shl_code=c,true]#include<stdio.h>
int main()
{
        int stu[10001],water[101],t;
        int n,m,i,j,count=0,minindex=0,max=0;
        scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
        {
                scanf("%d",&stu);
        }
    for(i=0;i<m;i++)
        {
        water=stu;
        }
    while(i<n)
        {
                minindex=0;
               
        for(j=0;j<m;j++)
                {
                        if(water[j]<water[minindex])
                                minindex=j;
                }
             t=water[minindex];
                count+=t;
                for(j=0;j<m;j++)
                {
                        water[j]-=t;
                }
               
                water[minindex]=stu[i++];
               
        }
        max=water[0];
        for(i=0;i<m;i++)
        {
       if(water>max)
           {
                   max=water;
           }
        }
        count+=max;
        printf("%d",count);
        return 0;
}
[/mw_shl_code]

自己写的已经通过的代码可以参考一下,不懂1问我哦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表