zoukankan      html  css  js  c++  java
  • Delete it

    Problem A: Delete it

    Time Limit: 2 Sec   Memory Limit: 64 MB
    Submit: 99   Solved: 25

    Description

    克林在打一行字母时总是会打多一个字符,比如想打july时会打成juuly,这样他需要删掉其中一个u

    克林想知道他可以删掉哪个位置的字符就可以变成他真正想打的一行字母。

     

    Input

    第一行一个整数:T (测试个数)

     

    每个测试

    输入两行,两个字符串(全是小写字母)

    串长为 到 1000000

    第一个串长度刚好比第二个的长度大一

     

    Output

    每个测试数据:

    第一行输出可以删除的位置个数 P

    如果P > 0 第二行输出可以删除的位置(小到大,空格隔开,位置从1开始算)

     

    Sample Input

    3
    juuly
    july
    abc
    zz
    aa
    a

    Sample Output

    2
    2 3
    0
    2
    1 2

    思路:题目意思应该很简单就懂了,关键看用什么方法,题目所给数据不大,可以直接做。

    可以由两个指针,一个从前往后扫,一个从后往前扫,比较两个字符串的异同,当比较到不同时,结束扫描。
    那么结果就出来了。
    代码:
    #include<iostream>
    #include<stdio.h>
    #include<cstring>
    using namespace std;
    #define MAX 1000000
    char a[MAX+10],b[MAX+10];
    int main()
    {
        //freopen("data.in", "r", stdin);
        //freopen("data.out","w",stdout);
        int n,i,len,j;
        scanf("%d",&n);
        while(n--)
        {
            scanf("%s%s",&a,&b);
            len=strlen(b);
            i=0;j=len+1;
            while(i<len&&a[i]==b[i])
                i++;
            while(j-1>0&&a[j-1]==b[j-2])
                j--;
            //printf("i=%d  j=%d
    ",i,j);
            if(i-j+2<=0)
                printf("0
    ");
            else
            {
                printf("%d
    ",i-j+2);
                for(int m=j-1;m<=i;m++)
                {
                    if(m==j-1)
                        printf("%d",m+1);
                    else
                        printf(" %d",m+1);
                }
                printf("
    ");
            }
        }
        return 0;
    }
    


  • 相关阅读:
    求逆序数 noj117
    背包问题 noj106
    士兵杀敌(二)
    Perl 日记模式操作(匹配与替换)
    Symbian中如何调试控制台程序
    Perl 日记references (often used)
    跨平台开发库(Symbian involved)日记1
    无法不想你,CLASSPATH,
    Symbian中不能跨越线程(RThread)使用的对象/组件(RSocket/Memery Heap,etc)
    几种设计模式分类的个人理解
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3194328.html
Copyright © 2011-2022 走看看