亲亲串

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述

如果有一个字符串,它的前半段等于它后半段,例如 abcabc,我们就叫这种字符串为“亲亲串”。

现在给你一个字符串(仅有大小写字母组成),可以在任意的位置添加任意个字符,使这个字符串成为一个“亲亲串”,最少需要添加多少个字符?

输入
第一行是一个整数N(0<N<=1000),表示有N组测试数据。
接下来有N行,每行有一个字符串,字符串的长度小于1000;
输出
对于每组测试数据输出一个整数,为最小添加字符数
样例输入
3
abcbc
aaaab
abcd
样例输出
1
1
4
错误代码!不知道为什么提交不成功,请路过大神指点!
#include<stdio.h>
#include<string.h>
char str[1005],stack1[1005],stack2[1005];
int main()
{int T,i,j,count,top1,top2;scanf("%d",&T);while(T--){scanf("%s",str);count=top1=top2=0;memset(stack1,0,sizeof(stack1));memset(stack2,0,sizeof(stack2));for(i=0;str[i]!='\0';i++){if(top1==top2){stack1[top1]=str[i];top1++;}else{for(j=top2;j<top1;j++){if(str[i]==stack1[j]){count+=(j-top2);stack2[j]=str[i];top2=j+1;break;}}if(j>=top1){stack1[top1]=str[i];top1++;}}}count+=(top1-top2);printf("%d\n",count);}return 0;
}
AC码:
#include<stdio.h>
#include<string.h>
char str[1005];
int dp[1005],len;
int fun(int t)
{int i,j,a,b;memset(dp,0,sizeof(dp));for(i=0;i<t;i++){a=0;for(j=t;j<len;j++){b=dp[j+1];if(str[i]==str[j])dp[j+1]=a+1;else if(dp[j]>dp[j+1])dp[j+1]=dp[j];a=b;}}return dp[len];
}
int main()
{int T,i,max,t;scanf("%d",&T);while(T--){scanf("%s",str);len=strlen(str);max=fun(len/2);if(max==len/2){printf("%d\n",len-2*max);continue;}for(i=max;i+max<len;i++){t=fun(i);if(t>max)max=t;}printf("%d\n",len-2*max);}return 0;
}

NYOJ 661 亲亲串相关推荐

  1. NYOJ 252 01串 dp

    01串 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有"11"子串的这种长度的0 ...

  2. NYOJ 252 01串

    01串 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 2 描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有"11"子串的这种长 ...

  3. NYOJ 44 字串和

    子串和 时间限制:5000 ms  |  内存限制:65535 KB 难度:3 描述 给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大, ...

  4. NYOJ 752 又见回文串

    又见回文串 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 回文串"是一个正读和反读都一样的字符串,比如"level"或者"noo ...

  5. 【nyoj - 252】 01串(简单dp)

    题干: 01串 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 输入 第一行有一个整数n(0<n<=100),表示有n组测试数据; 随后有n行,每行有一个整数m(2 ...

  6. NYOJ 1023 还是回文(DP,花最少费用形成回文串)

    1 /* 2 题意:给出一串字符(全部是小写字母),添加或删除一个字符,都会产生一定的花费. 3 那么,将字符串变成回文串的最小花费是多少呢? 4 5 思路:如果一个字符串增加一个字符 x可以形成一个 ...

  7. Manacher算法 , 实例 详解 . NYOJ 最长回文

    51 Nod http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1089 Manacher 算法 定义数组 p[i]表示以i为 ...

  8. 11粘土人脖卡面撑怎么用_纽约春节必备小吃!鸭脖、炸串、麻辣烫...送到家门口,放肆撸爽!...

    人生就像啃鸭脖,既要有大块吃肉的快感,也要啃骨唆髓的销魂!坐落在法拉盛的喵喵鸭,主营各类卤味.鸭货鸡爪猪耳朵,牛腱藕片猪蹄子一应具全.最值得一提的就是鸭脖了.味道鲜美无比,香.辣.甘.麻.甜.酥,啃光 ...

  9. NYOJ - [第九届河南省程序设计大赛]Decimal integer conversion(暴力)

    题目链接:http://nyoj.top/problem/1277 内存限制:64MB 时间限制:1000ms 特判: No 题目描述 XiaoMing likes mathematics, and ...

最新文章

  1. Oracle EXP/IMP参数详解
  2. SQL Server 漏洞评估工具
  3. Pytorch 一种调整学习率的思路
  4. 数据大师Olivier Grisel给志向高远的数据科学家的指引
  5. C语言编写程序11到20的和,C语言编程 菜鸟练习100题(11-20)
  6. CMSIS-DSP lib 矩阵运算示例和源码
  7. 利用python搭建socket server服务器
  8. java窗口设计_java简单窗口设计(源代码)
  9. C# TCP/IP通讯协议的整理(二)附带——与欧姆龙PLC通讯
  10. spring boot 集成redis监听Key值事件失效
  11. thinkphp集成系列之阿里云oss
  12. 小米5.0以上设备最完美激活xposed框架的流程
  13. JavaSE基础案例之模拟斗地主
  14. 我的MBTI职业性格测试
  15. lidar_align 标定lidar和imu 在“Performing Global Optimization”步骤终止的问题
  16. 【偶爱宋词】章良能·小重山
  17. TPS62240DDCR同步降压DC-DC转换器
  18. SQL中的笛卡尔你真的懂吗?
  19. 咖说 | 「延展与重构」数字艺术的新可能
  20. 财务管理基础 第十二章 现金流量估算与风险分析

热门文章

  1. 旅游景点人物进出系统[OC项目]
  2. 分页刷新(SwipeRefreshLayout+SwipeMenuRecyclerView)
  3. 和我一起学《HTTP权威指南》——安全HTTP与HTTPS
  4. linux 操作系统安装配置vnc
  5. Design Pattern Quick Overview
  6. 数据挖掘应用现状与产品分析
  7. HTML技巧100例(三)
  8. jane street information session on pythonandocaml
  9. video camera in shanghai
  10. Method Swizzling 为什么要先调用 class_addMethod?