码蹄杯 死亡名单 题型:模拟 难度:白银

37 阅读1分钟

码题集OJ-死亡名单 (matiji.net)

样例解析

初始名单为1234 ,要删去的编号为1,2

先删去编号1,生成一份新的伪造名单234

此时再删去新名单的编号2,生成一份新名单2 4 image.png

思想

首先我们要知道数组怎么删除元素,如果要删除前面的就用后面的去覆盖前面,此时后面会空出一块空间,这块空间如果我们不管的话会输出随机值或者0,我们这个时候用n--,到时候不去输出它即可

#include<bits/stdc++.h>

using namespace std;
const int N=1e4+10;
int stu[N];

signed main()
{
	cin.tie(nullptr)->sync_with_stdio(false);
	int n;cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>stu[i];
    }
	
	int m;cin>>m;
    for(int i=1;i<=m;i++)
    {
        int x;cin>>x;
        for(int j=x;j<=n-1;j++)
        {
            stu[j]=stu[j+1];
        }
        n--;
    }
	for(int i=1;i<=n;i++)
	{
		cout<<stu[i]<<" ";
	}
	return 0;
}

image.png