爆零求调
查看原帖
爆零求调
1097314
封禁用户楼主2025/1/9 22:01

rt,样例过了,数据都挂在了第 20172017 行:

#include<bits/stdc++.h>
using namespace std;
const int N=1001;
int n,m,k,a[N],p[N],x[N],pos;//pos 为棋子的位置 
bool flag;//flag 表示每一轮是否有空位出现 
int main(){
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++){
		cin>>p[i];
		a[p[i]]=i;//标记第 i 个棋子的出现位置 p[i] 
	}
	for(int i=1;i<=k;i++){
		cin>>x[i];
		for(int j=1;j<=n;j++){//找到目标棋子 
			if(a[j]==x[i]){
				pos=j;
				break;
			}
		}
		flag=false;//记得初始化 
		for(int j=pos+1;j<=n;j++){//往右寻找空位 
			if(!a[j]){//如果有空位 
				a[j]=a[pos];//将棋子移过来
				a[pos]=0;//原位置不要忘记清空
				cout<<j<<endl;
				flag=true;//有空位,flag 为真 
				break;
			}
		}
		if(!flag) cout<<"error!\n";//没位置了,输出 "error!" 
	}
}

验证码 3kkk

2025/1/9 22:01
加载中...