• UVa116


    这道题做了好久,题并不难,一开始的思路,和做法都是对的。但是要求最小字典序必须从右向左求,这样找最小的时候可以从左向右,保证最小字典序。以后做题特别要记住,越是情况多的时候越要总结归纳,最小样例,最大样例都要试一试,保证输出正确。

     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     int m,n,mind,i,j,t,a[20][200],d[20][200],s[20][200];
     6     while(scanf("%d%d",&m,&n)!=EOF)
     7     {
     8         memset(d,0,sizeof(d));
     9         for(i=1;i<=m;i++)
    10         for(j=n-1;j>=0;j--)
    11         scanf("%d",&a[i][j]);
    12         for(i=1;i<=m;i++)
    13         d[i][0]=a[i][0];
    14         for(j=1;j<n;j++)
    15         for(i=1;i<=m;i++)
    16         {
    17             d[i][j]=d[i][j-1];
    18              s[i][j]=i;
    19             int t1=i+1;
    20             if (t1>m)
    21             t1=1;
    22             if (d[i][j]==d[t1][j-1]&&s[i][j]>t1)
    23                     s[i][j]=t1;
    24             if (d[i][j]>d[t1][j-1])
    25             {
    26                 d[i][j]=d[t1][j-1];
    27                 s[i][j]=t1;
    28             }
    29             int t2=i-1;
    30             if(t2<1)
    31             t2=m;
    32             if(d[i][j]==d[t2][j-1]&&s[i][j]>t2)
    33             s[i][j]=t2;
    34             if (d[i][j]>d[t2][j-1])
    35             {
    36                 d[i][j]=d[t2][j-1];
    37                 s[i][j]=t2;
    38             }
    39             d[i][j]+=a[i][j];
    40         }
    41         mind=d[1][n-1];t=1;
    42         for(j=2;j<=m;j++)
    43         if(d[j][n-1]<mind)
    44         {
    45             t=j;
    46             mind=d[j][n-1];
    47         } printf("%d",t);
    48         for(i=n-1;i>=1;i--)
    49         {
    50             printf(" %d",s[t][i]);
    51             t=s[t][i];
    52         }
    53         printf("
    %d
    ",mind);
    54     }
    55     return 0;
    56 }
  • 相关阅读:
    mysql相关
    java注解@Valid@Validated表单验证
    驼峰参数、下划线["_"]参数,属性互传
    redis,windows设置记录
    Java入门第一季学习总结
    计算属性calc()的运算规则
    swiper实现翻页,页面高度超出可滚动
    git常用命令
    Linux下svn常用命令
    图片高度不够一页,如何覆盖全屏
  • 原文地址:https://www.cnblogs.com/Acgsws/p/3198659.html
Copyright © 2020-2023  润新知