NYOJ 661 亲亲串
亲亲串
- 描述
-
如果有一个字符串,它的前半段等于它后半段,例如 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 亲亲串相关推荐
- NYOJ 252 01串 dp
01串 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有"11"子串的这种长度的0 ...
- NYOJ 252 01串
01串 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 2 描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有"11"子串的这种长 ...
- NYOJ 44 字串和
子串和 时间限制:5000 ms | 内存限制:65535 KB 难度:3 描述 给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大, ...
- NYOJ 752 又见回文串
又见回文串 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 回文串"是一个正读和反读都一样的字符串,比如"level"或者"noo ...
- 【nyoj - 252】 01串(简单dp)
题干: 01串 时间限制:1000 ms | 内存限制:65535 KB 难度:2 输入 第一行有一个整数n(0<n<=100),表示有n组测试数据; 随后有n行,每行有一个整数m(2 ...
- NYOJ 1023 还是回文(DP,花最少费用形成回文串)
1 /* 2 题意:给出一串字符(全部是小写字母),添加或删除一个字符,都会产生一定的花费. 3 那么,将字符串变成回文串的最小花费是多少呢? 4 5 思路:如果一个字符串增加一个字符 x可以形成一个 ...
- Manacher算法 , 实例 详解 . NYOJ 最长回文
51 Nod http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1089 Manacher 算法 定义数组 p[i]表示以i为 ...
- 11粘土人脖卡面撑怎么用_纽约春节必备小吃!鸭脖、炸串、麻辣烫...送到家门口,放肆撸爽!...
人生就像啃鸭脖,既要有大块吃肉的快感,也要啃骨唆髓的销魂!坐落在法拉盛的喵喵鸭,主营各类卤味.鸭货鸡爪猪耳朵,牛腱藕片猪蹄子一应具全.最值得一提的就是鸭脖了.味道鲜美无比,香.辣.甘.麻.甜.酥,啃光 ...
- NYOJ - [第九届河南省程序设计大赛]Decimal integer conversion(暴力)
题目链接:http://nyoj.top/problem/1277 内存限制:64MB 时间限制:1000ms 特判: No 题目描述 XiaoMing likes mathematics, and ...
最新文章
- Oracle EXP/IMP参数详解
- SQL Server 漏洞评估工具
- Pytorch 一种调整学习率的思路
- 数据大师Olivier Grisel给志向高远的数据科学家的指引
- C语言编写程序11到20的和,C语言编程 菜鸟练习100题(11-20)
- CMSIS-DSP lib 矩阵运算示例和源码
- 利用python搭建socket server服务器
- java窗口设计_java简单窗口设计(源代码)
- C# TCP/IP通讯协议的整理(二)附带——与欧姆龙PLC通讯
- spring boot 集成redis监听Key值事件失效
- thinkphp集成系列之阿里云oss
- 小米5.0以上设备最完美激活xposed框架的流程
- JavaSE基础案例之模拟斗地主
- 我的MBTI职业性格测试
- lidar_align 标定lidar和imu 在“Performing Global Optimization”步骤终止的问题
- 【偶爱宋词】章良能·小重山
- TPS62240DDCR同步降压DC-DC转换器
- SQL中的笛卡尔你真的懂吗?
- 咖说 | 「延展与重构」数字艺术的新可能
- 财务管理基础 第十二章 现金流量估算与风险分析
热门文章
- 旅游景点人物进出系统[OC项目]
- 分页刷新(SwipeRefreshLayout+SwipeMenuRecyclerView)
- 和我一起学《HTTP权威指南》——安全HTTP与HTTPS
- linux 操作系统安装配置vnc
- Design Pattern Quick Overview
- 数据挖掘应用现状与产品分析
- HTML技巧100例(三)
- jane street information session on pythonandocaml
- video camera in shanghai
- Method Swizzling 为什么要先调用 class_addMethod?