Harmonic Value Description(构造题)

时间:2024-01-17 13:57:26

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Total Submission(s): 786    Accepted Submission(s): 456
Special Judge

Problem Description

The harmonic value of the permutation p1,p2,⋯pn is

∑i=1n−1gcd(pi.pi+1)

Mr. Frog is wondering about the permutation whose harmonic value is the strictly k-th smallest among all the permutations of [n].

Input

The first line contains only one integer T (1≤T≤100), which indicates the number of test cases.

For each test case, there is only one line describing the given integers n and k (1≤2k≤n≤10000).

Output

For each test case, output one line “Case #x: p1 p2 ⋯ pn”, where x is the case number (starting from 1) and p1 p2 ⋯ pn is the answer.

Sample Input

2
4 1
4 2

Sample Output

Case #1: 4 1 3 2

Case #2: 2 4 1 3

//题目看上去比较复杂,其实就需要一点点思维,问 1-n n个数,第 k 小的harmonic value的排列是怎样的

题解: 要第 k 大就把前 k 个偶数丢前面去,剩下的不变就好了

 #include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std; int main()
{
int T;
cin>>T;
for (int cnt=;cnt<=T;cnt++)
{
int n ,k;
scanf("%d%d",&n,&k);
printf("Case #%d:",cnt);
for (int i=;i<=k;i++)
printf(" %d",i*);
for (int i=;i<=n;i++)
{
if (i%==&&i<=*k) continue;
printf(" %d",i);
}
printf("\n");
}
return ;
}