solution-at266
本题的思路:纯模拟。
设置数组记录每个唱片的状态,一个变量in代表正在播放的唱片编号。
运用for循环模拟每一天唱片的变化。
这是题目给出的模拟图
说句闲话,题目居然有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;//完美结束!!!!
}
希望对您有帮助!