NYOJ 359 Delete it 字符串处理
来源:互联网 发布:网络国际电话 编辑:程序博客网 时间:2024/06/03 09:38
Delete it
时间限制:2000 ms | 内存限制:65535 KB
难度:2
- 描述
克林在打一行字母时总是会打多一个字符,比如想打”july”时会打成”juuly”,这样他需要删掉其中一个’u’。
克林想知道他可以删掉哪个位置的字符就可以变成他真正想打的一行字母。
- 输入
- 第一行一个整数:T (测试个数)
每个测试
输入两行,两个字符串(全是小写字母)
串长为 1 到 1000000
第一个串长度刚好比第二个的长度大一 - 输出
- 每个测试数据:
第一行输出可以删除的位置个数 P
如果P > 0 第二行输出可以删除的位置(小到大,空格隔开,位置从1开始算) - 样例输入
3juulyjulyabczzaaa
样例输出
22 3021 2
从第一个位置开始比较,直到找到不相等的位置,记录不相等的位置,然后错位比较,如果又找到一处不相等的位置,即不相等的位置个数超过1个,跳出循环,输出0;然后用第一个字符串的最后一个元素一次与前面元素比较,如果相等,删除点个数加1,否则跳出循环。#include<stdio.h>#include<string.h>char s1[1000001],s2[1000001];int main(){int n,i,j,p,cnt,len1,len2,sum;scanf("%d",&n);while(n--){scanf("%s",s1);scanf("%s",s2);len1=strlen(s1);len2=len1-1;p=i=j=cnt=0;while(i<len1&&j<len2){if(s1[i]!=s2[j]){p=i; //记录第一个不相等的位置cnt++; //不等位置数量加1if(cnt>1) break;i++; //错位比较}else{i++;j++;}}if(cnt>1)//不相等数量大于1,都不能删除printf("0\n"); sum=0; //记录删除点的个数 if(cnt==0) /*abcd abc*/ { for(i=len1-2;i>=0;i--) //从倒数第二个元素开始,每次都和最后一个元素比较 { if(s1[i]==s1[len1-1])sum++; elsebreak; }printf("%d\n",sum+1);for(j=i+2;j<=len1;j++) //i记录与最后一个元素不等元素的位置,从i后一个开始输出,下标加1,最后一个元素位置为len1 printf("%d ",j);printf("\n"); } else if(cnt==1) { for(i=p-1;i>=0;i--) //从第一个不等位置往前与a[p]比较 { if(s1[i]==s1[p]) sum++; else break; } printf("%d\n",sum+1); for(j=i+2;j<=p+1;j++) printf("%d ",j); printf("\n");}}return 0;}
- NYOJ 359 Delete it 字符串处理
- NYOJ 359 Delete it (水题)
- Delete it
- CF730H:Delete Them(字符串处理)
- NYOJ 308 Substring 字符串处理问题
- NYOJ 633 弟弟的作业【字符串处理】
- nyoj 218 Dinner【简单字符串处理】
- NYOJ 1272 表达式求值 (字符串处理)
- nyoj 658 字符串右移(字符串处理问题)
- 一个关于c++字符串处理和delete[]与delete差别的问题
- Delete it解题报告
- NYOJ +-字符串
- NYOJ--+-字符串
- NYOJ +-字符串
- NYOJ-+-字符串
- nyoj +-字符串
- NYOJ+-字符串
- NYOJ +-字符串
- win7,win8安装pl2303驱动失败的解决方法-关闭驱动自动安装功能
- 帮助你优化前端性能的工具类网站 - browserdiet
- 动态规划和贪心算法分析(装配线调度、最小生成树)
- C#关闭一个窗口的同时打开另一个窗口
- ULARGE_INTEGER
- NYOJ 359 Delete it 字符串处理
- 一步步教你粗暴破解宫爆老奶奶-APK反编译教程
- 我的设计模式学习之路1(单例模式)
- varnish 503的一种分析 nginx tomcat gzip
- 使用位运算实现乘法和乘方运算
- 用一个宏定义FIND求一个结构体struct里某个变量相对struct的编移量
- ORA-28001: the password has expired解决方法
- Windchill与Creo集成时如何配置ModelCHECK
- java db