老鹰抓小鸡
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
vector<int> children(n);
for (int i = 0; i < n; ++i) {
children[i] = i + 1;
}
for (int i = 1; i <= k; ++i) {
cout << i << ": ";
for (int num : children) {
cout << num << " ";
}
cout << endl;
rotate(children.begin(), children.begin() + 1, children.end());
}
return 0;
}
- 在
main
函数中,首先定义了两个整型变量n
和k
,然后通过cin
从标准输入读取用户输入的值分别赋给n
和k
。这里n
通常用于表示孩子(元素)的数量,k
可能表示某种操作的轮数等,具体含义要结合程序整体逻辑来理解,不过从代码后续看,n
决定了创建的vector
的大小,k
决定了循环操作的次数。 - 创建了一个名为
children
的vector
容器,其大小为n
,初始时元素的值是未定义的。然后通过for
循环对vector
中的每个元素进行赋值,将元素依次赋值为1
到n
,相当于给每个 “孩子” 编号。