比赛 2022级数学专题练习赛4 评测结果 AAAAAATTWA
题目名称 完全排序网络 最终得分 70
用户昵称 op_组撒头屯 运行时间 2.032 s
代码语言 C++ 内存使用 3.63 MiB
提交时间 2023-01-02 19:16:46
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pii pair<int,int>
#define vi vector<int>
#define si set<int>
#define qi queue<int>
#define sti stack<int>
#define fi first
#define se second
#define pb push_back
const int N=100+5;
const int M=200000+5;
int n,m;
int a[N],l[M],r[M];
int main(){
	freopen ("sortingnet.in","r",stdin);
	freopen ("sortingnet.out","w",stdout);
	scanf("%d%d",&n,&m);
	for (int i=1;i<=m;i++){
		scanf("%d%d",&l[i],&r[i]);
		if (l[i]>r[i])swap(l[i],r[i]);
	}
	for (int i=0;i<(1<<n);i++){
		int cnt=0;
		for (int j=0;j<n;j++){
			if (i&(1<<j))a[j+1]=1,cnt++;
			else a[j+1]=0;
		}
		for (int j=1;j<=m;j++){
			if (a[l[j]]<a[r[j]])swap(a[l[j]],a[r[j]]);
		}
		for (int j=1;j<=cnt;j++){
			if (!a[j]){
				printf("No!\n");return 0;
			}
		}
	}
	printf("Yes!\n");
	return 0;
}