zoukankan      html  css  js  c++  java
  • 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;
    }


  • 相关阅读:
    2014-11-27-0047-Java
    js去除数组中重复值
    一个数据表更新另外一个数据表(SQL)
    《js12种设计模式》
    《可编辑td》
    《JS 隔行换色》
    用Autohotkey让Kitty命令行变得更好用
    View epub and mobi File on Linux
    DrJava试用笔记
    Notes about BSD
  • 原文地址:https://www.cnblogs.com/TWS-YIFEI/p/5777365.html
Copyright © 2011-2022 走看看