solution-at266

本题的思路:纯模拟。

设置数组记录每个唱片的状态,一个变量in代表正在播放的唱片编号。

运用for循环模拟每一天唱片的变化。

这是题目给出的模拟图

solution-at266

说句闲话,题目居然有65个测试点!

话不多说,我们来看代码

#include<iostream>
#include<cmath>
using namespace std;
int cp[105];//用来记录唱片情况
int main()
{
    int n,m;
    cin>>n>>m;
    for(int i = 1; i <= n; i++)     cp[i] = i;//初值
    int in = 0;//记录正在播放的唱片
    for(int i = 1; i <= m; i++)
    {
        int temp;
        cin>>temp;
        for(int j  =1; j <= n; j++)
        {
        	if(cp[j] == temp)
        	{
        		cp[j] = in;//如果这张唱片是高桥君想要的,就与正在播放的换位
        		in = temp;//记录现在播放的
			}
		}
    }
    for(int i = 1; i <= n; i++)
    {
        cout<<cp[i]<<endl;//输出
    }
    return 0;//完美结束!!!!
}

希望对您有帮助!

上一篇:JZ5 替换空格


下一篇:解决方案Solution