| 记录编号 |
611344 |
评测结果 |
AAAAAAAAAAAAAAAA |
| 题目名称 |
[THUPC 2025 Final] 排列与质数 |
最终得分 |
100 |
重新评测 |
|
| 用户昵称 |
李佳峰 |
是否通过 |
通过 |
| 代码语言 |
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;
}