博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flooded! UVA - 815 (sort排序)
阅读量:4313 次
发布时间:2019-06-06

本文共 2086 字,大约阅读时间需要 6 分钟。

错了好多遍,不知道为啥出错,如果有大神发现,请求指点!!!

附错误代码(错的不知道怎么回事): 

#include
#include
#include
using namespace std;const int maxn = 32 + 5;int hblock[maxn*maxn]; /*elevation*/int main(){ int n, m; while(scanf("%d%d", &n, &m) != EOF) { if(n == 0 && m == 0) break;// memset(hblock, 0, sizeof(hblock)); for(int i = 0; i < m * n; i++) scanf("%d", &hblock[i]); hblock[m*n] = 2147483647;// cout << hblock[m*n] << endl; sort(hblock, hblock + m*n); double v; double h; cin >> v; v = v / 100.0; /*除以一个区的底面积,得到其高度*/ double mark = 0; /*标记被淹的极限*/ for(int i = 1; i <= m * n; i++) { v += hblock[i-1]; h = v / i; /**淹完一个时的高度**/ if(h < hblock[i]) { mark = i; break; } } int cases = 0; printf("Region %d\n", ++cases); printf("Water level is %.2lf meters.\n", h); printf("%.2lf percent of the region is under water.\n", 100.0*mark/double(n*m)); /*double强制转换不可忘,不然会有大量损失*/ } return 0;}

正确代码:

#include 
#include
#include
#include
#include
using namespace std;#define INF 0x7fffffffint h[35 * 35], n, m;double v, H, k;int main(){ int cas = 0; while(scanf("%d%d", &n, &m), n) { n *= m; for(int i = 0; i < n; i++) scanf("%d", h + i); h[n] = INF, n++; sort(h, h + n); scanf("%lf", &v); v /= 100.0; for(int i = 1; i <= n; i++) { v += h[i - 1]; H = v / i; if(H < h[i]) { k = i; break; } } printf("Region %d\n", ++cas); printf("Water level is %.2lf meters.\n", H); printf("%.2lf percent of the region is under water.\n\n", 100.0 * k / (n - 1)); } return 0;}

 

转载于:https://www.cnblogs.com/KeepZ/p/11143797.html

你可能感兴趣的文章
&#181;C/OS-II版本升级指南
查看>>
hibernate中持久化对象的生命周期(三态:自由态,持久态,游离态 之间的转换)...
查看>>
postgres出现Server doesn't listen错误解决办法
查看>>
linux shell学习--awk练习
查看>>
敏捷开发一千零一问系列之十二:敏捷实施的步骤?
查看>>
TCP三次握手机制中的seq和ack
查看>>
java内部类的定义原则
查看>>
2017年11月26日 C#流&&窗体对话框
查看>>
endl与\n的区别
查看>>
进程和线程概念及原理
查看>>
Dubbo超时重试机制带来的数据重复问题
查看>>
注解配置里的几个注解
查看>>
使ie678支持css3伪类选择器的插件
查看>>
题解报告:hdu 1212 Big Number(大数取模+同余定理)
查看>>
POJ 3624 Charm Bracelet
查看>>
ZOJ 2314 Reactor Cooling
查看>>
关于做事的一点想法
查看>>
程序在本地能启动而预发布不能启动
查看>>
Lucene、ES好文章
查看>>
有关定时器setTimeout()、setInterval()详解
查看>>