zoukankan      html  css  js  c++  java
  • 2016 Al-Baath University Training Camp Contest-1 F

    Description

    Zaid has two words, a of length between 4 and 1000 and b of length 4 exactly. The word a is 'good' if it has a substring which is equal tob. However, a is 'almost good' if by inserting a single letter inside of it, it would become 'good'. For example, if a = 'start' and b = 'tear': bis not found inside of a, so it is not 'good', but if we inserted the letter 'e' inside of a, it will become 'good' ('steart'), so a is 'almost good' in this case. Your task is to determine whether the word a is 'good' or 'almost good' or neither.

    Input

    The input consists of several test cases. The first line of the input contains a single integer T, the number of the test cases. Each of the following T lines represents a test case and contains two space separated strings a and b, each of them consists of lower case English letters. It is guaranteed that the length of a is between 4 and 1000, and the length of b is exactly 4.

    Output

    For each test case, you should output one line: if a is 'good' print 'good', if a is 'almost good' print 'almost good', otherwise print 'none'.

    Example
    input
    4
    smart mark
    start tear
    abracadabra crab
    testyourcode your
    output
    almost good
    almost good
    none
    good
    Note

    A substring of string s is another string t that occurs in s. Let's say we have a string s = "abcdefg" Possible valid substrings: "a","b","d","g","cde","abcdefg". Possible invalid substrings: "k","ac","bcef","dh".

    题意:两个字符串,如果b的长度为4且为a的子串的话,输出good,如果需a要加一个字符才能符合要求的话,输出almost good,否则输出none

    题解:用find就行,b可以分解为三个字符组成的字符串,再判断就行

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n;
        string s1,s2;
        cin>>n;
        while(n--)
        {
            cin>>s1>>s2;
            if(s1.find(s2)!=-1)
            {
                cout<<"good"<<endl;
            }
            else
            {
                int flag=0;
                for(int i=0; i<s2.length(); i++)
                {
                    string s3="";
                    for(int j=0; j<s2.length(); j++)
                    {
                        if(i!=j)
                        {
                            s3+=s2[j];
                        }
                    }
                    if(s1.find(s3)!=-1)
                    {
                        flag=1;
                    }
                   // cout<<s1.find(s3)<<endl;
                }
                if(flag)
                {
                    cout<<"almost good"<<endl;
                }
                else
                {
                    cout<<"none"<<endl;
                }
            }
        }
        return 0;
    }
    

      

  • 相关阅读:
    DDoS deflate
    stm32串口
    王立平--GUI与GUILayout的差别
    DOM模型
    Android设计模式(十二)--抽象工厂模式
    Dynamics CRM 开启EmailRouter日志记录
    python in操作引发 TypeError
    为OLED屏添加GUI支持2:2D图形库
    Bloxorz I (poj 3322 水bfs)
    URAL 1823. Ideal Gas(数学啊 )
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/6044316.html
Copyright © 2011-2022 走看看