• Binary String Matching


    问题 B: Binary String Matching

    时间限制: 3 Sec  内存限制: 128 MB
    提交: 4  解决: 2
    [提交][状态][讨论版]

    题目描述

    Given two strings A and B, whose alphabet consist only ‘0’ and ‘1’. Your task is only to tell how many times does A appear as a substring of B? For example, the text string B is ‘1001110110’ while the pattern string A is ‘11’, you should output 3, because the pattern A appeared at the posit

    输入

    The first line consist only one integer N, indicates N cases follows. In each case, there are two lines, the first line gives the string A, length (A) <= 10, and the second line gives the string B, length (B) <= 1000. And it is guaranteed that B is always longer than A.

    输出

    For each case, output a single line consist a single integer, tells how many times do B appears as a substring of A.

    样例输入

    3
    11
    1001110110
    101
    110010010010001
    1010
    110100010101011 

    样例输出

    3
    0
    3 

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    
    using namespace std;
    
    int main()
    {
        int n;
        char pattern[1111];
        char str[1111];
        char temp[1111];
        int cou=0;
        int b;
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            cou=0;
            scanf("%s",pattern);
            scanf("%s",str);
            int lens=strlen(str);
            int lenp=strlen(pattern);
            for(int j=0;j<lens;j++){
                b=0;
                if(str[j]==pattern[0]){
                    for(int h=0;h<lenp;h++){
                        if(pattern[h]!=str[j+h]){
                            b=1;
                            break;
                        }else{
                            continue;
                        }
                    }
                    if(b==0){
                        cou++;
                    }
                }
            }
            if(i==n-1){
                printf("%d",cou);
            }else{
                printf("%d
    ",cou);
            }
    
    
    
    
        }
    
        return 0;
    }

      

    只前在自己学校oj提交可以ac,但到别的oj提交就过不了,自己学校oj的测试数据太弱!!

    又重新写了一个

    #include <iostream>
    #include <cstdio>
    #include <stack>
    #include <cstring>
    
    using namespace std;
    
    int main()
    {
        int n;
        char ch;
        int b=0;
        char s[10005];
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            stack<char> st1;
            scanf("%s",s);
            int len=strlen(s);
            st1.push(s[0]);
            for(int j=1;j<len;j++){
                b=0;
                if(st1.empty()){
                    st1.push(s[j]);
                }else{
                    if(s[j]==')'){
                        if(st1.top()=='('){
                            st1.pop();
                        }else{
                            printf("No
    ");
                            b=1;
                            while(!st1.empty()){
                                st1.pop();
                            }
                            break;
                        }
                    }
                    if(s[j]==']'){
                        if(st1.top()=='['){
                            st1.pop();
                        }else{
                            printf("No
    ");
                            b=1;
                            while(!st1.empty()){
                                st1.pop();
                            }
                            break;
                        }
                    }
                    if(s[j]=='['||s[j]=='('){
                        st1.push(s[j]);
                    }
                }
    
            }
    
            if(b!=1&&st1.empty()){
                printf("Yes
    ");
            }
            if(b==0&&!st1.empty()){
                printf("No
    ");
            }
        }
        return 0;
    }


  • 相关阅读:
    C语言-if语句
    C语言-表达式
    C语言-基础
    Java for LeetCode 187 Repeated DNA Sequences
    Java for LeetCode 179 Largest Number
    Java for LeetCode 174 Dungeon Game
    Java for LeetCode 173 Binary Search Tree Iterator
    Java for LeetCode 172 Factorial Trailing Zeroes
    Java for LeetCode 171 Excel Sheet Column Number
    Java for LeetCode 169 Majority Element
  • 原文地址:https://www.cnblogs.com/TWS-YIFEI/p/5777365.html
Copyright © 2020-2023  润新知