水题,数据小随意实现
判断有几种数,两种的话判断出现次数是否相同就好了
代码
#include <iostream>
#include <cstdio>
#include<cstring>
#include <algorithm>
#include<set>
using namespace std;
int num[105];
set<int>cards;
set<int>::iterator it;
int main()
{
int T,N,temp;
while(~scanf("%d",&N))
{
memset(num,0,sizeof num);
cards.clear();
for(int i=0;i<N;i++)
{
scanf("%d",&temp);
cards.insert(temp);
num[temp]++;
}
if(cards.size()!=2)
printf("NO\n");
else
{
it=cards.begin();
int n1=*it;
int temp1=num[n1];
it++;
int n2=*it;
int temp2=num[n2];
if(temp1!=temp2)
printf("NO\n");
else
{
printf("YES\n");
printf("%d %d\n",n1,n2);
}
}
}
return 0;
}