题解 AT266 【迷子のCDケース】

博客链接

本题的思路:纯模拟。

设置数组记录每个唱片的状态,一个变量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;//完美结束!!!!
}

希望对您有帮助!

posted @ 2020-04-15 23:37  WRuperD  阅读(0)  评论(0编辑  收藏  举报  来源

本文作者:DIVMonster

本文链接:https://www.cnblogs.com/guangzan/p/12886111.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

这是一条自定义内容

这是一条自定义内容