zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    linux 实现一列数据的求和、累积求和、及1/2求和
    linux系统中如何删除某些文件或者某一类以外的所有文件
    linux系统中查看系统内核、发行版本信息
    linux系统中如何将当前目录下的文件从大到小排序和从小到大排序
    c语言中float关键字和double关键字的区别
    linux 系统如何给软件设置环境变量
    使用detectRUNS包进行ROH检测,计算近交系数实践
    诸城模拟赛 dvd的逆序对
    codevs1316 文化之旅
    codevs2800 送外卖
  • 原文地址:https://www.cnblogs.com/cszlg/p/2987915.html
Copyright © 2011-2022 走看看