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 }
  • 相关阅读:
    mysql -- 备忘
    Linux基础命令---压缩与打包
    nginx rewrite
    重启php-fpm
    Mysql:输出到文件
    IOS 自定义Layer(图层)
    IOS CALayer基本使用 (图层)
    IOS 拖拽事件(手势识别)
    IOS 旋转+缩放(手势识别)
    IOS 长按+轻扫(手势识别)
  • 原文地址:https://www.cnblogs.com/cszlg/p/2987915.html
Copyright © 2011-2022 走看看