• {CF812}


    链接:CF812

    好久之前做的,掉了100多-_-||

    太忙了今天才来补题。。。。。。

    A

    B

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <bits/stdc++.h>
     4 using namespace std;
     5 
     6 int dp[20][2];
     7 int li[20],ri[20];
     8 int ex;
     9 int n,m;
    10 
    11 int main()
    12 {
    13     scanf("%d%d",&n,&m);
    14     m+=2;
    15     int up=-1;
    16     memset(li,0x3f3f,sizeof(li));
    17     for(int i=n;i>=1;i--)
    18     {
    19         ex=0;
    20         for(int j=0;j<m;j++)
    21         {
    22             int x;
    23             scanf("%1d",&x);
    24             if(x==1)
    25             {
    26                 li[i]=min(li[i],j);
    27                 ri[i]=max(ri[i],j);
    28                 ex++;
    29             }
    30         }
    31         if(ex) up=max(up,i);
    32         else{
    33             li[i]=m-1;
    34             ri[i]=0;
    35         }
    36     }
    37     if(up==-1)
    38     {
    39         puts("0");
    40         return 0;
    41     }
    42     if(up==1)
    43     {
    44        printf("%d
    ",ri[1]);
    45        return 0;
    46     }
    47     dp[1][0]=ri[1]*2;
    48     dp[1][1]=m-1;
    49     for(int i=2;i<up;i++)
    50     {
    51         dp[i][0]=1+min(dp[i-1][0]+ri[i]*2,dp[i-1][1]+m-1);
    52         dp[i][1]=1+min(dp[i-1][0]+m-1,dp[i-1][1]+(m-1-li[i])*2);
    53     }
    54     int ans=min(dp[up-1][0]+ri[up],dp[up-1][1]+m-1-li[up])+1;
    55     printf("%d
    ",ans);
    56 
    57 }
    dp

    C

  • 相关阅读:
    nodejs安装以及配置
    java第三周学习总结
    java第二周学习总结
    java第一周学习总结
    调查问卷
    2016.2.19 学习总结
    第一周学习总结
    第一周学习总结
    假期马原学习计划
    20145335郝昊《java程序设计》第2次实验报告
  • 原文地址:https://www.cnblogs.com/yijiull/p/7040432.html
Copyright © 2020-2023  润新知