UVA10763

2022-12-09

菜鸡退役人来水黄了……

\(\sf{Solution}\)

搞不懂为什么要排序,这不是两个数组直接模拟的数数题吗。

读入后,对于每个学生,令他要去的学校以及他现在所在学校人数对应加一,再 check 一下所有学校人数是否能配对,就完事了。最后, uva 多测不清两行泪啊。

\(\sf{Code}\)

#include<cstdio>
#include<cstring>
#include<string.h>
#include<algorithm>
using namespace std;
int go[5000005],back[5000005];
int n,a,b;
bool check()
{
for(int i=1;i<=5000000;++i)
if(go[i]!=back[i])//检查是否匹配
return false;
return true;
}
int main()
{
while(scanf("%d",&n)&&n!=0)
{
memset(go,0,sizeof(go));
memset(back,0,sizeof(back));//清空!!1
for(int i=1;i<=n;++i)
scanf("%d%d",&a,&b),go[a]++,back[b]++;//记录来去情况
if(check())
printf("YES\n");
else printf("NO\n");
}
return 0;
}

UVA10763的相关教程结束。

《UVA10763.doc》

下载本文的Word格式文档,以方便收藏与打印。