Code
#include <bits/stdc++.h>
using namespace std;
int n,m,a[200005],b[200005],minab = 200005,x[200005];
struct node{
int x,y;
}p[200005];
bool cmp(node x,node y){
if (x.x == y.x) return x.y < y.y;
return x.x < y.x;
}
int main(){
memset(x,-1,sizeof x);
cin >> n >> m;
for (int i = 1;i <= m;i++){
cin >> a[i];
p[i].x = a[i];
}
for (int i = 1;i <= m;i++){
cin >> b[i];
p[i].y = b[i];
if (p[i].x > p[i].y) swap(p[i].x,p[i].y);
minab = min(minab,p[i].x);
}
sort(p + 1,p + m + 1,cmp);
x[minab] = 1;
for (int i = 1;i <= m;i++){
if (x[p[i].y] == -1) x[p[i].y] = 1 - x[p[i].x];
if (x[p[i].x] == x[p[i].y]){
cout << "No";
return 0;
}
}
cout << "Yes";
return 0;
}
为什么 WA 了
01_random_1_00.txt
01_random_1_01.txt
01_random_1_02.txt
01_random_1_03.txt
02_random_2_04.txt
02_random_2_09.txt
?求dalao解答(悬关)