萌新求助P1188!
查看原帖
萌新求助P1188!
416511
三重门123456楼主2021/6/3 20:59

完全不知道怎么改,求助大佬!


#include <iostream> 
using namespace std;
struct node{
	int num,pos;
}word[100010];

void pre_treatment(int x ){
	for(int i=0;i<=x+10;i++){
		word[i].num=i;
		word[i].pos=i+1;
	}
	return;
}
void ceshi1(){
	cout<<"行数   列数\n"; 
	for(int i=0;i<=15;i++){
		cout<<word[i].num<<"   "
		<<word[i].pos<<endl;
	}
	return;
}

int main( ){
	int n,k;
	cin>>n>>k;
	pre_treatment(n);
	//ceshi1();
	for(int i=1,a,b,c;i<=k;i++){
		cin>>a>>b>>c;
		//前面位置指针跳jump行 ok
		int jump=b-a+1,var=0;//
		for(int j=1;j<=n;j++){
			
			if(word[var].pos==a){
				word[var].pos+=jump;	
			} //cout<<word[j].pos<<"  ";
			if(word[var].num==b){
				word[var].pos=word[c].num;
			}
			if(word[var].num==c){
				word[var].pos=a;
			}
			var=word[var].pos;
		}//word[a-1].pos+=jump;
		
		//插入的指针(word[c-1].pos)->被插入的第一个 
		//word[c].pos=a;
		 
		//被插入last的指针-> 
		//word[b].pos=c+1;
//cout<<word[c].pos<<"     "<<word[b].pos<<endl;
	}
	int p1=1,p2=0;
ceshi1();
	for(int i=1;i<=10;i++){
		cout<<word[p1].num<<endl;
		p1=word[p1].pos;
	}
	return 0;
}

2021/6/3 20:59
加载中...