2838: 练51.2 老鹰捉小鸡

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:35 解决:14

题目描述

狐狸老师和格莱尔等$5$位小朋友玩老鹰捉小鸡的游戏,狐狸老师当老鹰,排在第一位的小朋友当“母鸡”,其他$4$位小朋友当“小鸡”。但是“母鸡”很辛苦,所以过一段时间“母鸡”需要排到队伍最后成为“小鸡”,让第二位小朋友当“母鸡”······试编一程序,模拟$10$次位置变化的过程。

输入

无。

输出

每行输出每一次的位置。

样例输入 复制

样例输出 复制

1: 1 2 3 4 5
2: 2 3 4 5 1
3: 3 4 5 1 2
4: 4 5 1 2 3
5: 5 1 2 3 4
6: 1 2 3 4 5
7: 2 3 4 5 1
8: 3 4 5 1 2
9: 4 5 1 2 3
10: 5 1 2 3 4

提示

#include<iostream>
using namespace std;
int main(){
    int i,j,a[6],n;
    for (i=1;i<6;i++){
        a[i]=i;
    }//输出第一次的位置
    i=1;
    cout<<i<<": ";
    for (j=1;j<6;j++){
        cout<<a[j]<<" ";
    }
    cout<<endl;
    for (i=2;i<=10;i++){
        //移动位置
        for (j=0;j<=4;j++){
            a[j]=a[j+1];
        }
        a[5]=a[0];
        //输出位置
        cout<<i<<": ";
        for (j=1;j<=5;j++){
            cout<<a[j]<<' ';
       }
        cout<<endl;
    }
    return 0;
}

#include<bits/stdc++.h>
using namespace std;
vector<int> v;
int n=10;
int main(){
	for (int i=1;i<=5;i++) {
		v.push_back(i); 
	}
    for(int i=1;i<=n;i++) {
    	cout<<i<<": ";
    	for (int j=0;j<v.size();j++) {
    		cout<<v[j]<<" ";
		}
		cout<<endl;
		int x=v[0];
		v.push_back(x);
		v.erase(v.begin()+0);
	}
	return 0;
}