栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1717 The Secret Number

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1717 The Secret Number

#include <stdio.h>#include <iostream>#include <string.h>#include <limits.h>#include <algorithm>#include <math.h>#include <numeric>#include <functional>#include <ctype.h>#define MAX 80using namespace std;int mat[MAX][MAX];char dp[MAX][MAX][2*MAX];bool cmp(const char *lhs,const char *rhs){  const int llen=strlen(lhs),rlen=strlen(rhs);  if(llen != rlen)    return llen<rlen;  else    for(int i=0;i<llen;++i)      if(lhs[i]!=rhs[i])        return lhs[i]<rhs[i];  return false;}int main(void){  int n,m;char temp,ans[2*MAX];  while(scanf("%d%d",&m,&n) &&(n||m))  {memset(mat,-1,sizeof(mat));    memset(dp,'',sizeof(dp));    memset(ans,'',sizeof(ans));for(int i=1;i<=n;++i)    {      getchar();for(int j=1;j<=m;++j){scanf("%c",&temp);if(isdigit(temp))mat[i][j]=temp-'0';elsemat[i][j]=-1;}    }for(int i=1;i<=n;++i)    {for(int j=1;j<=m;++j)        if(mat[i][j]>-1)        {          int a=strlen(dp[i-1][j]),b=strlen(dp[i][j-1]);          if(a&&b)          { if(cmp(dp[i-1][j],dp[i][j-1])) {   strcpy(dp[i][j],dp[i][j-1]);   dp[i][j][b++]=mat[i][j]+'0';   dp[i][j][b]=''; } else {   strcpy(dp[i][j],dp[i-1][j]);   dp[i][j][a++]=mat[i][j]+'0';   dp[i][j][a]=''; }          }          else if(a)          { strcpy(dp[i][j],dp[i-1][j]); dp[i][j][a++]=mat[i][j]+'0'; dp[i][j][a]='';          }          else if(b)          { strcpy(dp[i][j],dp[i][j-1]); dp[i][j][b++]=mat[i][j]+'0'; dp[i][j][b]='';          }          else if(mat[i][j]>0)          { dp[i][j][0]=mat[i][j]+'0';          }          if(cmp(ans,dp[i][j])) strcpy(ans,dp[i][j]);        }    }printf("%sn",ans);  }  return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379092.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号