zoukankan      html  css  js  c++  java
  • 【HDOJ】1510 White Rectangles

    这个题目很好,变形的题目也很多。简单DP。

     1 /* 1510 */
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cstdlib>
     5 
     6 #define MAXN 105
     7 
     8 char map[MAXN][MAXN];
     9 int dp[MAXN][MAXN];
    10 
    11 int min(int a, int b) {
    12     return a<b ? a:b;
    13 }
    14 
    15 int main() {
    16     int n;
    17     int i, j, k, tmp;
    18     int sum;
    19     
    20     #ifndef ONLINE_JUDGE
    21         freopen("data.in", "r", stdin);
    22     #endif
    23     
    24     while (scanf("%d", &n) != EOF) {
    25         for (i=1; i<=n; ++i)
    26             scanf("%s", map[i]+1);
    27         
    28         sum = 0;
    29         for (i=1; i<=n; ++i) {
    30             for (j=1; j<=n; ++j) {
    31                 if (map[i][j] == '#') {
    32                     dp[i][j] = 0;
    33                 } else {
    34                     dp[i][j] = dp[i-1][j] + 1;
    35                     tmp = dp[i][j];
    36                     sum += tmp;
    37                     for (k=j-1; k>0; --k) {
    38                         tmp = min(tmp, dp[i][k]);
    39                         sum += tmp;
    40                     }
    41                 }
    42             }
    43         }
    44         printf("%d
    ", sum);
    45     }
    46     
    47     return 0;
    48 }
  • 相关阅读:
    [ZJOI2010]基站选址
    [SDOI2008]Sue的小球
    访问计划
    奥义商店
    codeforces 809E Surprise me!
    codeforces 888G Xor-MST
    [HAOI2015]数字串拆分
    小奇分糖果
    小奇的花园
    BZOJ4711 小奇挖矿
  • 原文地址:https://www.cnblogs.com/bombe1013/p/4230392.html
Copyright © 2011-2022 走看看