三重门123456 @ 2021-06-03 20:59:45
完全不知道怎么改,求助大佬!
#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;
}
by Phartial @ 2021-06-03 21:27:36
最后一个ceshi1()
没删