题意:一人取一个数,两个人所取包含所有数且所取相同则YES,并输出两人的数,否则NO。
代码如下:
#include <iostream>
using namespace std;
typedef struct number
{
int a[100];
int b[100];
}NUM;
int main()
{
NUM p;
int i,j,k,temp,n,m,x[100];
while(cin>>n&&!(n%2))
{
for(i=0;i<n;++i)
cin>>x[i];
for(i=0;i<n-1;++i)
{
k=i;
for(j=i+1;j<n;++j)
{
if(x[k]>x[j])
{
temp=x[k];
x[k]=x[j];
x[j]=temp;
}
}
}
m=0;
p.a[m]=x[m];
p.b[m]=1;
for(i=1;i<n;++i)
{
if(x[i]==p.a[m])
{
(p.b[m])++;
continue;
}
m++;
p.a[m]=x[i];
p.b[m]=1;
}
if(m-1)
cout<<"NO"<<endl;
else
{if(p.b[0]!=p.b[1])
cout<<"No"<<endl;
else
{
cout<<"YES"<<endl;
cout<<p.a[0]<<" "<<p.a[1]<<endl;
}
}
}
return 0;
}