• Codeforces Round #175 (Div. 2) A. Slightly Decreasing Permutations(构造,简单)


    A. Slightly Decreasing Permutations
    time limit per test
    2 seconds
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    Permutation p is an ordered set of integers p1,  p2,  ...,  pn, consisting of n distinct positive integers, each of them doesn't exceed n. We'll denote the i-th element of permutation p as pi. We'll call number n the size or the length of permutation p1,  p2,  ...,  pn.

    The decreasing coefficient of permutation p1, p2, ..., pn is the number of such i (1 ≤ i < n), that pi > pi + 1.

    You have numbers n and k. Your task is to print the permutation of length n with decreasing coefficient k.

    Input

    The single line contains two space-separated integers: n, k (1 ≤ n ≤ 105, 0 ≤ k < n) — the permutation length and the decreasing coefficient.

    Output

    In a single line print n space-separated integers: p1, p2, ..., pn — the permutation of length n with decreasing coefficient k.

    If there are several permutations that meet this condition, print any of them. It is guaranteed that the permutation with the sought parameters exists.

    Sample test(s)
    Input
    5 2
    Output
    1 5 2 4 3
    Input
    3 0
    Output
    1 2 3
    Input
    3 2
    Output
    3 2 1
     1 #include <iostream>
     2 #include <fstream>
     3 #include <string>
     4 #include <set>
     5 #include <map>
     6 #include <vector>
     7 #include <stack>
     8 #include <queue>
     9 #include <cmath>
    10 #include <cstdio>
    11 #include <cstring>
    12 #include <algorithm>
    13 #include <utility>
    14 using namespace std;
    15 #define ll long long
    16 #define cti const int
    17 #define ctll const long long
    18 #define dg(i) cout << '*' << i << endl;
    19 
    20 int main()
    21 {
    22     int n, k;
    23     while(scanf("%d %d", &n, &k) != EOF)
    24     {
    25         if(k == 0)
    26         {
    27             for(int i = 1; i < n; i++) cout << i << ' ';
    28             cout << n << endl;
    29             continue;
    30         }
    31         cout << n--;
    32         while(k-- > 1) cout << ' ' << n--;
    33         for(int i = 1; n--; i++) cout << ' ' << i;
    34         cout << endl;
    35     }
    36     return 0;
    37 }
  • 相关阅读:
    四则运算试题生成,结对
    3 词频统计
    20190912-1 每周例行报告
    20190912-2 命令行
    每周例行报告
    作业要求 20190919-1 每周例行报告
    作业要求20190919-4 单元测试,结对
    作业要求 20190919-6 四则运算试题生成,结对
    作业要求20190919-5 代码规范,结对要求
    作业要求20190919-2 功能测试
  • 原文地址:https://www.cnblogs.com/cszlg/p/2987915.html
Copyright © 2020-2023  润新知