只用了这么几行就AC了,我也是醉了~~,这个方法纯属突发奇想,也不知道有没有漏洞,反正是过了uva的测试数据了。
方法就是将每行的第一个数存进a[],第二个数存进b[] ,将他们排序后比较,一旦有不一样的就输出NO!
#include<cstdio>
#include<map>#include<algorithm>
#include<iostream>
using namespace std;
map<int,int>q;
map<int,int>p;
int a[500500],b[500500],c[500500];
int main(){
int n;
while(scanf("%d",&n)!=EOF&&n){
for(int i=0;i<n;i++)
scanf("%d %d",&a[i],&b[i]);
sort(a,a+n);
sort(b,b+n);
int ans=1;
for(int i=0;i<n;i++)
if(a[i]!=b[i]){
ans=0;break;
}
if(ans==1) printf("YES\n");
else printf("NO\n");
}
return 0;
}
本文介绍了一种用于解决UVA在线编程竞赛问题的独特方法。该方法通过将输入数据中的两组数字分别排序后进行比对,若排序后的数组完全相同则输出“YES”,反之输出“NO”。此方法简洁高效,适用于特定类型的编程挑战。
337

被折叠的 条评论
为什么被折叠?



