洪水

来源:互联网 发布:php 逗号分隔字符串 编辑:程序博客网 时间:2024/04/28 04:38
<span style="white-space:pre"><span style="font-size:32px;"></span></span><span style="font-size:32px;">洪水</span>
<span style="font-size:24px;">http://7xjob4.com1.z0.glb.clouddn.com/49d1e788ae9a89a2877aba30b18d4e1b</span><img src="http://img.blog.csdn.net/20160729094730196?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);" alt="" />
<span style="font-size:24px;">#include<stdio.h>#define M 1000void sort(int a[],int n){int i,j,t,f;for(i=0;i<n-1;i++){f=1;for(j=0;j<n-i-1;j++){if(a[j]>a[j+1]){f=0;t=a[j];a[j]=a[j+1];a[j+1]=t;}}if(f==1)break; }} int search(int a[],int n,int sum,int *s)//找到雨水最多积在第几个格子里 {int i; for(i=0;i<n;i++){*s+=100*a[i];if(*s+sum<=100*(i+1)*a[i+1]) return i;}return n-1;}int main(){int n,m,p=0;while(~scanf("%d%d",&n,&m)&&(n||m)){int i,t,a[M],s=0,sum;for(i=0;i<n*m;i++)scanf("%d",&a[i]);scanf("%d",&sum);sort(a,n*m);//小到大排序 t=search(a,m*n,sum,&s);printf("Region %d\nWater level is %.2lf meters.\n%.2lf percent of the region is under water.\n",++p,1.0*(s+sum)/(t+1)/100,100.0*(t+1)/(n*m));printf("\n");}return 0;}</span>
<span style="font-size:24px;">请思考下,若有更简单的解法,共同交流,谢谢</span>
1 0
原创粉丝点击