zoukankan      html  css  js  c++  java
  • SDNU 1135.Phone Number(水题)

    Description

    We know that if a phone number A is another phone number B’s prefix, B is not able to be called. For an example, A is 123 while B is 12345, after pressing 123, we call A, and not able to call B.
    Given N phone numbers, your task is to find whether there exits two numbers A and B that A is B’s prefix.

    Input

    The input consists of several test cases.
    The first line of input in each test case contains one integer N (0<N<1001), represent the number of phone numbers.
    The next line contains N integers, describing the phone numbers.
    The last case is followed by a line containing one zero.

    Output

    For each test case, if there exits a phone number that cannot be called, print “NO”, otherwise print “YES” instead.

    Sample Input

    2
    012
    012345
    2
    12
    012345
    0
    

    Sample Output

    NO
    YES
    

    Source

    #include <cstdio>
    #include <iostream>
    #include <cmath>
    #include <string>
    #include <cstring>
    #include <algorithm>
    #include <queue>
    #include <vector>
    #include <map>
    using namespace std;
    #define ll long long
    
    int n;
    string s[1000+8];
    
    int main()
    {
        while(~scanf("%d", &n) && n != 0)
        {
            for(int i = 0; i<n; i++)
                cin>>s[i];
            bool flag = 1;
            for(int i = 0; i<n; i++)
            {
                for(int j = i+1; j<n; j++)
                {
                    int len1 = s[i].size(), len2 = s[j].size();
                    for(int k = 0; k<min(len1, len2); k++)
                    {
                        if(s[i][k] == s[j][k])
                        {
                            flag = 0;
                            break;
                        }
                    }
                    if(!flag)break;
                }
                if(!flag)break;
            }
            if(!flag)printf("NO
    ");
            else printf("YES
    ");
        }
        return 0;
    }
  • 相关阅读:
    plan
    模拟测试6
    codeforces gym100801 Problem J. Journey to the “The World’s Start”
    HDU6333 莫队+组合数学
    codeforces 1167B Lost Numbers
    codeforces 86D,Powerful array 莫队
    codeforces 220B . Little Elephant and Array 莫队+离散化
    SPOJ DQUERY
    poj/OpenJ_Bailian
    codeforces 540E 离散化技巧+线段树/树状数组求逆序对
  • 原文地址:https://www.cnblogs.com/RootVount/p/10985742.html
Copyright © 2011-2022 走看看