玄关求助!
  • 板块P1188 PASTE
  • 楼主Tiskan_H
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/22 18:59
  • 上次更新2024/7/22 20:06:40
查看原帖
玄关求助!
1013837
Tiskan_H楼主2024/7/22 18:59

样例对了,可是全WA,大佬求调QWQ

#include <bits/stdc++.h>
using namespace std;
	
int n,k,num;
int t[100010],f[100010],h[100010];

int main(){
	cin>>n>>k;
	for(int i=0;i<n;i++) t[i]=i+1,f[i]=i-1,h[i]=i;
	for(int i=1;i<=k;i++){
		int frm1,frm2,to;
		int f1=0,f2=0,t1=0,dis=0;
		cin>>frm1>>frm2>>to;
		for(int i=1;i<=n;i++){
			dis++;
			if(h[i]==frm1&&f1==0) frm1=i,f1=1;
			if(h[i]==frm2&&f2==0) frm2=i,f2=1;
			if(h[i]==to&&t1==0)
				if(frm1<=to) dis=0,t1=2;
				else to=i,t1=1;
			if(t1==2&&dis==frm2-frm1+1) to=i,t1=1;
		}
		t[f[frm1]]=t[frm2],f[t[frm2]]=f[frm1];
		f[t[to]]=frm2,t[frm2]=t[to];
		f[frm1]=to,t[to]=frm1;
		num=0;
		for(int i=t[0];i;i=t[i]) h[i]=++num;
		//for(int i=t[0];i;i=t[i]) cout<<i<<" ";
		//cout<<endl;
	}
	num=0;
	for(int i=t[0];++num!=11;i=t[i]) cout<<i<<"\n";
	return 0;
}

2024/7/22 18:59
加载中...