Delete it解题报告
2013-07-17 15:16
176 查看
描述:克林在打一行字母时总是会打多一个字符,比如想打”july”时会打成”juuly”,这样他需要删掉其中一个’u’。克林想知道他可以删掉哪个位置的字符就可以变成他真正想打的一行字母。
输入输出要求:
Input
第一行一个整数:T (测试个数)
每个测试
输入两行,两个字符串(全是小写字母)
串长为1 到1000000
第一个串长度刚好比第二个的长度大一
Output
每个测试数据:
第一行输出可以删除的位置个数P
如果P > 0 第二行输出可以删除的位置(小到大,空格隔开,位置从1 开始算)
输入输出样例:
Sample Input
3
juuly
july
abc
zz
aa
a
Sample Output
2
2 3
0
2
1 2
解题思路:定义两个变量i和j,i从a字符数组的左边开始,j从b字符数组的右边开始,找出a和b中相等的字符,i+1-(j-2)即为可以删除的个数,然后用一个循环就可以把可以删除的位置输出。
代码:
#include<iostream>
#include<cstring>
using namespace std;
char a[1000006];
char b[1000006];
int len;
int main()
{
int T;
int i,j,k;
cin>>T;
while(T--)
{
cin>>a>>b;
len=strlen(b);
i=-1;
while(a[i+1]==b[i+1])
i++;
j=len+1;
while(a[j-1]==b[j-2])
j--;
if(i+1-j+2<=0)
{
cout<<0<<endl;
}
else
{
cout<<i+1-j+2<<endl;
for(k=j-1;k<=i+1;k++)
{
if(k!=j-1 )
cout<<"";
cout<<k+1;
}
cout<<endl;
}
}
return 0;
}
解题感想:要考虑juuuuuuly和july的情况,题目给的样例真的有点坑……
输入输出要求:
Input
第一行一个整数:T (测试个数)
每个测试
输入两行,两个字符串(全是小写字母)
串长为1 到1000000
第一个串长度刚好比第二个的长度大一
Output
每个测试数据:
第一行输出可以删除的位置个数P
如果P > 0 第二行输出可以删除的位置(小到大,空格隔开,位置从1 开始算)
输入输出样例:
Sample Input
3
juuly
july
abc
zz
aa
a
Sample Output
2
2 3
0
2
1 2
解题思路:定义两个变量i和j,i从a字符数组的左边开始,j从b字符数组的右边开始,找出a和b中相等的字符,i+1-(j-2)即为可以删除的个数,然后用一个循环就可以把可以删除的位置输出。
代码:
#include<iostream>
#include<cstring>
using namespace std;
char a[1000006];
char b[1000006];
int len;
int main()
{
int T;
int i,j,k;
cin>>T;
while(T--)
{
cin>>a>>b;
len=strlen(b);
i=-1;
while(a[i+1]==b[i+1])
i++;
j=len+1;
while(a[j-1]==b[j-2])
j--;
if(i+1-j+2<=0)
{
cout<<0<<endl;
}
else
{
cout<<i+1-j+2<<endl;
for(k=j-1;k<=i+1;k++)
{
if(k!=j-1 )
cout<<"";
cout<<k+1;
}
cout<<endl;
}
}
return 0;
}
解题感想:要考虑juuuuuuly和july的情况,题目给的样例真的有点坑……
相关文章推荐
- soj 4018upit解题报告 splay经典应用
- POJ-1094 Sorting It All Out 解题报告
- 拓扑排序 附POJ 1094 Sorting It All Out 解题报告
- PAT (Advanced Level) 1005. Spell It Right (20) 解题报告
- [LeetCode]DeleteDuplicateEmails,解题报告
- LeetCode 237. Delete Node in a Linked List 解题报告
- 1123. Is It a Complete AVL Tree (30)解题报告
- hdu 1754 I Hate It 解题报告(线段树 代码+注释)
- POJ - 1094 Sorting It All Out解题报告
- [leetcode] 237. Delete Node in a Linked List 解题报告
- poj 1094 Sorting It All Out 解题报告
- A - Can you find it?解题报告
- 【LeetCode】Delete Node in a Linked List 解题报告
- Hdu 1754 I Hate It 线段树 解题报告
- UVa 10012 How Big Is It? 解题报告(枚举排列)
- 各大IT公司2012校园招聘笔试面试整理--解题报告整理
- 解题报告:HDU_6129 Just do it (找规律 两种做法)
- [leetcode] 380. Insert Delete GetRandom O(1) 解题报告
- [Leetcode] 712. Minimum ASCII Delete Sum for Two Strings 解题报告
- 【解题报告】 HDU 1754 I Hate It 线段树 单点更新