zoukankan      html  css  js  c++  java
  • Codeforces Round #517 (Div. 2, based on Technocup 2019 Elimination Round 2)D(思维,DP,字符串)

    #include<bits/stdc++.h>
    using namespace std;
    char c[2007][2007];
    char ans[4007];
    int s[2007][2007];
    int main(){
        memset(s,-1,sizeof(s));
        int n,k;
        scanf("%d%d",&n,&k);
        getchar();
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                scanf("%c",&c[i][j]);
            }
            getchar();
        }
        s[1][1]=k;//初始可改变的次数
        char mn=0;
        char tmp=0;
        for(int i=1;i<=n*2-1;i++){
            mn='z';
            for(int j=1;j<=i;j++){
                if(j>n||i-j+1>n)
                    continue;
                if(s[j][i-j+1]>-1){//可达位置
                    tmp=c[j][i-j+1];
                    if(tmp!='a'&&s[j][i-j+1]>0)//改变机会未用完
                        tmp='a';
                    mn=min(mn,tmp);
                }
            }
            ans[i]=mn;//i可走到的位置的最小值
            for(int j=1;j<=i;j++){
                if(j>n||i-j+1>n)
                    continue;
                if(s[j][i-j+1]>-1){
                    tmp=c[j][i-j+1];
                    if(tmp!='a'&&s[j][i-j+1]>0){//贪心,前面有机会能变a就变
                        tmp='a';
                        s[j][i-j+1]--;
                    }
                    if(tmp==mn){//可行出路之一
                        if(j<n)
                            s[j+1][i-j+1]=max(s[j+1][i-j+1],s[j][i-j+1]);//走改变少的路
                        if(i-j+1<n)
                            s[j][i-j+2]=max(s[j][i-j+2],s[j][i-j+1]);//走改变少的路
                    }
                }
            }
            printf("%c",ans[i]);
        }
        return 0;
    }

    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    mysql的root用户无法建库的问题
    jmeter连库获取sql结果存为参数给下一接口用
    webservice接口问题
    今日杂记-20190623
    接口测试
    pyenv和virtualenv管理python的版本(多个版本同时用)
    安装禅道
    经典题,类中的变量
    CSS简介
    python单元测试unittest
  • 原文地址:https://www.cnblogs.com/ldudxy/p/10030014.html
Copyright © 2011-2022 走看看