БъЬтЃКЧѓНтвЛИіACMЛљДЁЬт
ЧѓНтвЛИі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    етЪЧЮвд­АцДњТыЃК
#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];
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;
}
ЕЋЪЧЫуЗЈКмРУЃЌЪБМфЬЋОУ            • 4
• 1/1вГ
• • 1
• ЙигкЮвУЧ | ЙуИцКЯзї | БрГЬжаЙњ | ЧхГ§Cookies | TOP | ЪжЛњАц

БрГЬжаЙњ АцШЈЫљгаЃЌВЂБЃСєЫљгаШЈРћЁЃ