zoukankan      html  css  js  c++  java
  • hihocoder1736 最大的K-偏差排列

    思路:

    容易写错的贪心题。

    实现:

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 int main()
     4 {
     5     int n, k;
     6     while (cin >> n >> k)
     7     {
     8         int tot = n / (2 * k) * 2 * k;
     9         bool flg = false;
    10         for (int i = 0; i < tot; i++)
    11         {
    12             if (i % k == 0) flg = !flg;
    13             cout << (flg ? i + 1 + k : i + 1 - k) << " ";
    14         }
    15         if (n - tot <= k)
    16         {
    17             for (int i = n; i > tot; i--) cout << i << " ";
    18         }
    19         else
    20         {
    21             for (int i = tot; i < n - k; i++) cout << i + 1 + k << " ";
    22             for (int i = tot + k - 1; i >= n - k; i--) cout << i + 1 << " ";
    23             for (int i = tot + k; i < n; i++) cout << i + 1 - k << " ";
    24         }
    25         cout << endl;
    26     }
    27     return 0;
    28 }
  • 相关阅读:
    MOXA串口服务器使用
    【笔记】Winform设置快捷键
    comboBox联动
    【笔记】winform窗体显示
    关于xml文件的使用
    day_6
    day_5
    dau_4
    day_3
    day_2
  • 原文地址:https://www.cnblogs.com/wangyiming/p/9023461.html
Copyright © 2011-2022 走看看