标题:求解一个ACM基础题
只看楼主
li362490567
Rank: 1
等 级:新手上路
帖 子:89
专家分:8
注 册:2015-7-9
结帖率:0
 问题点数:0 回复次数:3 
求解一个ACM基础题
求解一个ACM基础题
因为我暂时没学算法,导致做这个题目时,程序超时,以下是题目:
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
搜索更多相关主题的帖子: another example numbers several whether 
2015-10-01 18:29
li362490567
Rank: 1
等 级:新手上路
帖 子:89
专家分:8
注 册:2015-7-9
得分:0 
这是我原版代码:
#include<stdio.h>
#include<string.h>
int main(void)
{
    int  a,i, j, k, h = 0;
    first:while (scanf("%d", &a),a!=0)
    {
        
        char pnumber[a][20];
        for (i = 0; i < a; i++)
            gets(pnumber[i]);
        for (i = 0; i < a-1; i++)
            for (j = i + 1; j < a; j++)
            {
                k = 0;
                while (pnumber[i][k] == pnumber[j][k] && h < strlen(pnumber[i]))
                {
                    k++;
                    h++;
                }
                if (h == strlen(pnumber[i]))
                {
                    printf("NO");
                    goto first;
                }
            }
        printf("YES");
    }
    return 0;
}
但是算法很烂,时间太久
2015-10-01 18:30
li362490567
Rank: 1
等 级:新手上路
帖 子:89
专家分:8
注 册:2015-7-9
得分:0 
求解
2015-10-01 18:30
li362490567
Rank: 1
等 级:新手上路
帖 子:89
专家分:8
注 册:2015-7-9
得分:0 
求解啊啊啊啊
2015-10-01 21:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-457844-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.167830 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved