Phone Number 2010年山东省第一届ACM大学生程序设计竞赛
2014-04-13 11:52
676 查看
Phone Number
Time Limit: 1000MS Memory limit: 65536K
题目描述
Weknow 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.
输入
Theinput 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.
输出
Foreach test case, if there exits a phone number that cannot be called, print “NO”, otherwise print “YES” instead.
示例输入
2 012 012345 2 12 012345 0
示例输出
NO YES
#include<iostream> #include<string> using namespace std; string a[1005],k; int b[1005]; int main() { int n,i,j,p,s; while(cin>>n&&n) { s=0; for(i=0;i<n;i++) cin>>a[i]; for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) {if(a[j]>a[j+1]) {k=a[j]; a[j]=a[j+1]; a[j+1]=k;}} //for(i=0;i<n;i++) //cout<<a[i]<<endl; for(i=0;i<n;i++) b[i]=a[i].size(); for(i=0;i<n-1;i++) {p=b[i]<b[i+1]?b[i]:b[i+1]; for(j=0;j<p;j++) if(a[i][j]!=a[i+1][j]) break; else if(j==p-1) s=1; } // for(i=0;i<n-1;i++) // if(a[i]==a[i+1]) // s=2; if(s==1) cout<<"NO"<<endl; else if(s==0) cout<<"YES"<<endl; } return 0; }
相关文章推荐
- Phone Number 2010年山东省第一届ACM大学生程序设计竞赛
- 2010年山东省第一届ACM大学生程序设计竞赛:Hello World!
- Hello World! 2010年山东省第一届ACM大学生程序设计竞赛
- Ivan comes again!(2010年山东省第一届ACM大学生程序设计竞赛)
- sdut 2159 Ivan comes again!(2010年山东省第一届ACM大学生程序设计竞赛) 线段树+离散
- Hello World! 2010年山东省第一届ACM大学生程序设计竞赛
- 2010年山东省第一届ACM大学生程序设计竞赛:shopping
- 2010年山东省第一届ACM大学生程序设计竞赛——Emergency
- 2010年山东省第一届ACM大学生程序设计竞赛——Greatest Number
- 2010年山东省第一届ACM大学生程序设计竞赛——Ivan comes again!
- 2010年山东省第一届ACM大学生程序设计竞赛——Fairy tale
- 2010年山东省第一届ACM大学生程序设计竞赛——Ivan comes again!
- SDUT 2151 Phone Number 2010年山东省第一届ACM大学生程序设计竞赛
- Phone Number 山东省第一届ACM大学生程序设计竞赛(原题) problem A
- 山东省第一届ACM大学生程序设计竞赛 Phone Number 字典树
- [2010山东省第一届ACM大学生程序设计竞赛]——Phone Number
- 2010年山东省第一届ACM大学生程序设计竞赛 Balloons (BFS)
- SDUT 2157 Greatest Number (二分) 2010年山东省第一届ACM大学生程序设计竞赛
- 2010年山东省第一届ACM大学生程序设计竞赛——Balloons
- SDUT 2152 Balloons(DFS 四面+八面) 2010年山东省第一届ACM大学生程序设计竞赛