记录编号 611344 评测结果 AAAAAAAAAAAAAAAA
题目名称 [THUPC 2025 Final] 排列与质数 最终得分 100
用户昵称 GravatarLikableP 是否通过 通过
代码语言 C++ 运行时间 0.449 s
提交时间 2026-01-28 12:24:06 内存使用 3.80 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;

bool isPrime(int x){
	if(x <= 1)
		return 0;
	for(int i = 2 ; i * i <= x ; ++i)
		if(x % i == 0)
			return 0;
	return 1;
}

vector<int> generateSol(int n, int p){
	vector<int> ans;
	ans.push_back(p);
	for(int i = 1 ; i <= n ; ++i){
		if(p - i > 0)
			ans.push_back(p - i);
		if(p + i <= n)
			ans.push_back(p + i);
	}
	return ans;
}

int main(){
  freopen("thupc_2025_permprime.in", "r", stdin);
  freopen("thupc_2025_permprime.out", "w", stdout);
	int t;
	cin >> t;
	for(int i = 1 ; i <= t ; ++i){
		int n;
		cin >> n;
		vector < int > ans;
		for(int x = 0 ; ; ++x){
			if(isPrime(n / 2 - x)){
				ans = generateSol(n , n / 2 - x);
				break;
			}
			if(isPrime(n / 2 + x)){
				ans = generateSol(n , n / 2 + x);
				break;
			}
		}
		for(int i = 0 ; i < n ; ++i)
			cout << ans[i] << " \n"[i == n - 1];
	}
	return 0;
}