zoukankan      html  css  js  c++  java
  • Bzoj1296: [SCOI2009]粉刷匠

    1296: [SCOI2009]粉刷匠

    Time Limit: 10 Sec  Memory Limit: 162 MB
    Submit: 2229  Solved: 1290
    [Submit][Status][Discuss]

    Description

    windy有 N 条木板需要被粉刷。 每条木板被分为 M 个格子。 每个格子要被刷成红色或蓝色。 windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色。 每个格子最多只能被粉刷一次。 如果windy只能粉刷 T 次,他最多能正确粉刷多少格子? 一个格子如果未被粉刷或者被粉刷错颜色,就算错误粉刷。

    Input

    输入文件paint.in第一行包含三个整数,N M T。 接下来有N行,每行一个长度为M的字符串,'0'表示红色,'1'表示蓝色。

    Output

    输出文件paint.out包含一个整数,最多能正确粉刷的格子数。

    Sample Input

    3 6 3
    111111
    000000
    001100

    Sample Output

    16

    HINT

    30%的数据,满足 1 <= N,M <= 10 ; 0 <= T <= 100 。 100%的数据,满足 1 <= N,M <= 50 ; 0 <= T <= 2500 。

    /*
        首先对于每个格子不管刷什么颜色,刷肯定比不刷更优,所以设
        dp[i][j][k][0/1]表示刷到i行j列用了k次并且这一格刷的是红/蓝的最大值。
        然后转移即可。 
    */
    #include<iostream>
    #include<cstdio>
    using namespace std;
    int n,m,t,dp[51][51][2501][2];
    char a[51][51];
    int main(){
        scanf("%d%d%d",&n,&m,&t);
        for(int i=1;i<=n;i++)scanf("%s",a[i]+1);
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                for(int k=1;k<=t;k++){
                    if(j==1){
                        dp[i][j][k][0]=max(dp[i-1][m][k-1][0],dp[i-1][m][k-1][1])+(a[i][j]=='0');
                        dp[i][j][k][1]=max(dp[i-1][m][k-1][0],dp[i-1][m][k-1][1])+(a[i][j]=='1');
                    }
                    else{
                        dp[i][j][k][0]=max(dp[i][j-1][k][0],dp[i][j-1][k-1][1])+(a[i][j]=='0');
                        dp[i][j][k][1]=max(dp[i][j-1][k][1],dp[i][j-1][k-1][0])+(a[i][j]=='1');
                    }
                }
            }
        }
        int ans=max(dp[n][m][t][0],dp[n][m][t][1]);
        printf("%d",ans);
        return 0;
    }
  • 相关阅读:
    Lua学习笔记(二):基本语法
    Lua学习笔记(一):搭建开发环境
    C#学习笔记(十六):Attribute
    [U3D Demo] 手机FPS射击游戏
    C#学习笔记(十五):预处理指令
    js 树菜单 ztree
    jquery flexslider 轮播插件
    浏览器 本地预览图片 window.url.createobjecturl
    mouseover mouseenter mouseout mouseleave
    jquery checkbox问题
  • 原文地址:https://www.cnblogs.com/thmyl/p/7678887.html
Copyright © 2011-2022 走看看