记录编号 |
85089 |
评测结果 |
AAAAAAAAAA |
题目名称 |
完全排序网络 |
最终得分 |
100 |
用户昵称 |
Chenyao2333 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.113 s |
提交时间 |
2013-12-26 22:38:05 |
内存使用 |
1.82 MiB |
显示代码纯文本
#include<stdio.h>
#include<stdlib.h>
const int MAXN=100+10;
const int MAXM=200000+10;
inline void swap(int &a,int &b){
int t=a;
a=b;
b=t;
}
int N,M;
int comp_a[MAXM]={0},comp_b[MAXM]={0};
int arr[MAXN]={0,100,0,101};
void read(){
scanf("%d %d",&N,&M);
for(int i=0;i<M;i++){
scanf("%d %d",&comp_a[i],&comp_b[i]);
if(comp_a[i]>comp_b[i])swap(comp_a[i],comp_b[i]);
}
}
void rad(){
for(int i=1;i<=N;i++){
arr[i]=rand();
}
}
void sort_(){
for(int i=0;i<M;i++){
int a=comp_a[i],b=comp_b[i];
if(arr[a]<arr[b])swap(arr[a],arr[b]);
}
}
bool check(){
for(int i=1;i<N;i++){
if(arr[i]<arr[i+1]){
return false;
}
}
return true;
}
bool solve(){
for(int i=0;i<100;i++){
rad();
sort_();
if(!check())return false;
}
return true;
}
void open(){
freopen("sortingnet.in","r",stdin);
freopen("sortingnet.out","w",stdout);
}
int main(){
open();
read();
bool is_yes=solve();
if(is_yes)printf("Yes!");
else printf("No!");
return 0;
}