agc035c

顯然 NN22 的次冪 NN 就配對不上了。否則先連 (1,2,3,1,2,3)(1,2,3,1,2,3),然後連 (1,2x,2x+1)(1,2x,2x+1)(1,2x+1,2x)(1,2x+1,2x) 就能把 2x2x2x+12x+1 配對上了。NN 是偶數就在 11 的鄰接點上找兩個去連 NN 就行了。

#include <bits/stdc++.h>
#define rep(i,j,k) for (int i = j; i <= k; i++)
#define dow(i,j,k) for (int i = j; i >= k; i--)
#define fi first
#define se second
#define mp make_pair
#define pb push_back
using namespace std;
typedef pair<int, int> pi;
typedef long long ll;
int n;
int main() {
	scanf("%d", &n);
	if ((!(n & (n - 1)))) return puts("No"), 0;
	puts("Yes");
	int m = n;
	if (n % 2 == 0) m--;
	printf("%d %d\n", n + 1, 3);
	for (int i = 2; i < m; i += 2) {
		printf("%d %d\n", i, i + 1);
		printf("%d %d\n", i, 1);
		printf("%d %d\n", i + n + 1, i + n);
		printf("%d %d\n", i + n + 1, 1);
	}
	if (n % 2 == 0) {
		int x = n & -n;
		int y = n - x;
		printf("%d %d\n", n, x);
		printf("%d %d\n", y + n + 1, n * 2);
	}
	return 0;
}
		
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章