zoukankan      html  css  js  c++  java
  • hdu 1735(贪心)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1735

    思路:贪心,只要开头有两个0,则需要判断其上一行最后有多少个连续的0,按上一行最后处0的数量由大到小排序(特殊处理一下最后一行末尾0就可以了);

    View Code
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<algorithm>
     5 using namespace std;
     6 #define MAXN 10000+10
     7 #define MAXL 100+10
     8 int map[MAXN][MAXL];
     9 int n,l,m,k,ans;
    10 int _count[MAXN];//(如果当前行前2个为0)记录上一行行尾0的个数
    11 
    12 int cmp(const int &p,const int &q){
    13     return p>q;
    14 }
    15 
    16 
    17 int main(){
    18     while(~scanf("%d%d%d",&n,&l,&m)){
    19         k=0,ans=0;
    20         for(int i=1;i<=n;i++){
    21             for(int j=1;j<=l;j++){
    22                 scanf("%d",&map[i][j]);
    23                 if(!map[i][j])ans++;
    24             }
    25         }
    26         //除去最后一行行尾0的个数
    27         for(int i=l;i>=1;i--){
    28             if(!map[n][i])ans--;
    29             else break;
    30         }
    31         ans-=2*m;//除去m行开始的2个0
    32         for(int i=2;i<=n;i++){
    33             int count=0;
    34             if(!map[i][1]&&!map[i][2]){
    35                 //记录上一行行尾0的个数
    36                 for(int j=l;j>=1;j--){
    37                     if(!map[i-1][j])count++;
    38                     else break;
    39                 }
    40                 _count[k++]=count;
    41             }
    42         }
    43         sort(_count,_count+k,cmp);
    44         //只需m-1行就行;
    45         for(int i=0;i<m-1;i++){
    46             ans-=_count[i];
    47         }
    48         printf("%d\n",ans);
    49     }
    50     return 0;
    51 }
  • 相关阅读:
    HDU 2196 Computer
    HDU 1520 Anniversary party
    POJ 1217 FOUR QUARTERS
    POJ 2184 Cow Exhibition
    HDU 2639 Bone Collector II
    POJ 3181 Dollar Dayz
    POJ 1787 Charlie's Change
    POJ 2063 Investment
    HDU 1114 Piggy-Bank
    Lca hdu 2874 Connections between cities
  • 原文地址:https://www.cnblogs.com/wally/p/3052581.html
Copyright © 2011-2022 走看看