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 }
  • 相关阅读:
    mac 环境下adb的安装
    iOS开发Swift版本
    UILabel-Swift
    Android应用上架
    Android应用开发
    andriod
    Android 6.0 更新包与已安装应用的签名不一致
    苹果手机怎么录屏 iOS12设置录屏
    Siri语音唤醒的开启与语音矫正
    Git的工作流程
  • 原文地址:https://www.cnblogs.com/cszlg/p/2987915.html
Copyright © 2011-2022 走看看