Run ID:113820
提交时间:2025-03-16 16:37:08
#include <iostream> #include <vector> #include <set> #include <algorithm> using namespace std; int main() { int n, k; cin >> n >> k; vector<int> P(n); for (int i = 0; i < n; ++i) { cin >> P[i]; } set<vector<int>> uniqueSequences; // 用于存储不同的排序后数列 // 遍历所有可能的连续子序列 for (int i = 0; i <= n - k; ++i) { vector<int> temp = P; // 复制原始数列 vector<int> subsequence(temp.begin() + i, temp.begin() + i + k); sort(subsequence.begin(), subsequence.end()); // 对子序列排序 // 将排序后的子序列放回原位置 for (int j = 0; j < k; ++j) { temp[i + j] = subsequence[j]; } uniqueSequences.insert(temp); // 将新数列加入集合 } cout << uniqueSequences.size() << endl; // 输出不同数列的数量 return 0; }