1 条题解
-
0
练51.2 老鹰捉小鸡
解题思路
初始编号1~5。第t行展示已左移t-1次的队列,第j位可直接用(t-1+j)%5+1计算,展示10行。
正确性说明
按顺序完成所述运算后,每个输入元素都被处理在相应位置或统计项中。保存的中间状态与已处理数据对应,最终输出与题目定义一致。
易错点
第一行是原始队列,不能先移一次再输出。
复杂度
固定50项,时间O(1),空间O(1)。
参考代码(C++11)
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); for (int t = 1; t <= 10; t++) { cout << t << ":"; for (int j = 0; j < 5; j++) cout << " " << (t - 1 + j) % 5 + 1; cout << "\n"; } return 0; }
- 1