hihocoder1736 最大的K-偏差排列
Posted 王宜鸣
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }
以上是关于hihocoder1736 最大的K-偏差排列的主要内容,如果未能解决你的问题,请参考以下文章