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 }
  • 相关阅读:
    Threading in C# Learining
    win7 设置IIS
    Aforge视频采集
    C# 删除文件夹下的所有文件
    C# Timer实现实时监听
    Java中堆内存和栈内存详解
    彻底掌握 AQS
    四种线程同步/互斥方式小结
    CyclicBarrier可重用的循环栅栏
    答疑解惑之ExecutorService——shutdown方法和awaitTermination方法使用
  • 原文地址:https://www.cnblogs.com/cszlg/p/2987915.html
Copyright © 2011-2022 走看看