博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 10453 十七 Make Palindrome
阅读量:6604 次
发布时间:2019-06-24

本文共 1637 字,大约阅读时间需要 5 分钟。

Make Palindrome

Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu

Submit     
1 #include 
2 #include
3 #include
4 using namespace std; 5 6 char str[1005]; 7 int dp[1005][1005],react[1005][1005]; 8 9 int dfs(int x,int y)10 {11 if(x>y)12 return 0;13 if(x==y)14 printf("%c",str[x]);15 else if(react[x][y]==0)16 {17 printf("%c",str[x]);18 dfs(x+1,y-1);19 printf("%c",str[y]);20 }21 else if(react[x][y]==1)22 {23 printf("%c",str[y]);24 dfs(x,y-1);25 printf("%C",str[y]);26 }27 else if(react[x][y]==2)28 {29 printf("%c",str[x]);30 dfs(x+1,y);31 printf("%c",str[x]);32 }33 return 0;34 }35 36 int main()37 { 38 int n;39 int i,j,k;40 while(scanf("%s",str)!=EOF)41 {42 memset(dp,0,sizeof(dp));43 memset(react,0,sizeof(react));44 45 n=strlen(str);46 for(i=n-1;i>=0;i--)47 {48 for(j=i+1;j
dp[i][j-1])57 {58 dp[i][j]=dp[i][j-1]+1;59 react[i][j]=1;60 }61 else62 {63 dp[i][j]=dp[i+1][j]+1;64 react[i][j]=2;65 }66 }67 }68 }69 70 printf("%d ",dp[0][n-1]);71 dfs(0,n-1);72 printf("\n");73 }74 return 0;75 }
View Code

 

转载于:https://www.cnblogs.com/cyd308/p/4771609.html

你可能感兴趣的文章
Appium IOS
查看>>
xhprof安装记录
查看>>
POJ1961 Period [KMP应用]
查看>>
CSS hack
查看>>
IT项目管理工具探讨之_项目群管理
查看>>
如何在 Android 手机上安装 Ubuntu 13.04
查看>>
HDU 6073 - Matching In Multiplication | 2017 Multi-University Training Contest 4
查看>>
编程面试过程中常见的10大算法(转)
查看>>
尝试记录自己的工作学习
查看>>
centos6.5 安装nginx
查看>>
生成若干个不重复的随机数数组
查看>>
topcoder srm 465 div1
查看>>
多伦多大学 - 学习编程:写出高质量的代码
查看>>
C语言 scanf()和gets()函数的区别
查看>>
密码学===网站的安全登录认证设计
查看>>
如何检测域名是否被微信屏蔽 微信域名检测接口API是如何实现
查看>>
WPF与WinForm开发有什么区别?
查看>>
re模块 | Python 3.5
查看>>
POJ1611-The Suspects
查看>>
ROS学习之ShadowRepository
查看>>