zoukankan      html  css  js  c++  java
  • uva 815 Flooded!

    题意:n*m的网格,每个网格10m的正方形,网格四周是无限大的墙壁,输入每个格子的高度和洪水的体积,求水位的高度和淹没的面积。

    分析:水肯定是先淹没高度低的,后淹没高度高的,所以对所有海拔排序,从低向高遍历,直到遇到不能淹没的网格停止。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 using namespace std;
     5 const int mmax=35*35;
     6 int dp[mmax],n,m;
     7 
     8 int main()
     9 {
    10    for (int kase = 1; scanf("%d%d", &n, &m), n&&m; kase++)
    11    {
    12       n*=m;
    13       for(int i=0;i<n;i++)
    14          cin>>dp[i];
    15       sort(dp,dp+n);
    16       dp[n]=0x7fffffff;
    17 
    18       int t;double sum;
    19       cin>>sum;sum/=100;
    20 
    21       for(t=1;t<=n;t++)
    22       {
    23          sum+=dp[t-1];
    24          if(sum/t<=dp[t])
    25             break;
    26       }
    27       printf("Region %d
    ", kase);
    28       printf("Water level is %.2lf meters.
    ", sum/t);
    29       printf("%.2lf percent of the region is under water.
    
    ", t*100.0/n);
    30    }
    31    return 0;
    32 }
    View Code
  • 相关阅读:
    数据库基础+重置root密码
    Bug定级
    测试用例和测试方法
    测试基础
    HDOJ-1010 Tempter of the Bone(dfs)
    POJ
    HDU-2089 不要62 (数位DP)
    Happy!
    LOJ-1422 万圣节服装
    数字三角形(数塔问题)
  • 原文地址:https://www.cnblogs.com/jihe/p/4832550.html
Copyright © 2011-2022 走看看