@[Sun_Email](/user/566451) 能发一下代码吗
by _zzzzzzy_ @ 2023-07-20 20:20:41
行吧
WA:
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,k,nxt[100010],t1,t2,t3;
int main(){
scanf("%d%d",&n,&k);
for(int i=1;i<=n;++i){
nxt[i]=i+1;
}
nxt[n]=0;
nxt[0]=1;
//a~b swap c+1~c+b-a+1
for(int i=1,u,v,w;i<=k;++i){
scanf("%d%d%d",&u,&v,&w);
t1=t2=t3=0;
if(w>=u){
w+=v-u+1;
}
for(int i=nxt[0],j=1;i;i=nxt[i],++j){
if(j==u-1){
t1=i;
}
if(j==v){
t2=i;
if(t1&&t3){
break;
}
}
if(j==w){
t3=i;
if(t1&&t2){
break;
}
}
}
// int IAKIOI=nxt[t1];
// nxt[t1]=nxt[t2];
// nxt[t2]=nxt[t3];
// nxt[t3]=IAKIOI;
int IAKIOI=nxt[t3];
nxt[t3]=nxt[t1];
nxt[t1]=nxt[t2];
nxt[t2]=IAKIOI;
}
for(int i=nxt[0],j=1;j<=10;++j,i=nxt[i]){
printf("%d\n",i);
}
return 0;
}
```
AC:```cpp
#include<bits/stdc++.h>
using namespace std;
int n,k,nxt[100010],t1,t2,t3;
int main(){
scanf("%d%d",&n,&k);
for(int i=1;i<=n;++i){
nxt[i]=i+1;
}
nxt[n]=0;
nxt[0]=1;
//a~b swap c+1~c+b-a+1
for(int i=1,u,v,w;i<=k;++i){
scanf("%d%d%d",&u,&v,&w);
t1=t2=t3=0;
if(w>=u){
w+=v-u+1;
}
for(int i=nxt[0],j=1;i;i=nxt[i],++j){
if(j==u-1){
t1=i;
}
if(j==v){
t2=i;
if(t1&&t3){
break;
}
}
if(j==w){
t3=i;
if(t1&&t2){
break;
}
}
}
int IAKIOI=nxt[t1];
nxt[t1]=nxt[t2];
nxt[t2]=nxt[t3];
nxt[t3]=IAKIOI;
// int IAKIOI=nxt[t3];
// nxt[t3]=nxt[t1];
// nxt[t1]=nxt[t2];
// nxt[t2]=IAKIOI;
}
for(int i=nxt[0],j=1;j<=10;++j,i=nxt[i]){
printf("%d\n",i);
}
return 0;
}
```
@[zhangzhengyan0831](/user/715244)
by Sun_Email @ 2023-07-20 20:23:31
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,k,nxt[100010],t1,t2,t3;
int main(){
scanf("%d%d",&n,&k);
for(int i=1;i<=n;++i){
nxt[i]=i+1;
}
nxt[n]=0;
nxt[0]=1;
//a~b swap c+1~c+b-a+1
for(int i=1,u,v,w;i<=k;++i){
scanf("%d%d%d",&u,&v,&w);
t1=t2=t3=0;
if(w>=u){
w+=v-u+1;
}
for(int i=nxt[0],j=1;i;i=nxt[i],++j){
if(j==u-1){
t1=i;
}
if(j==v){
t2=i;
if(t1&&t3){
break;
}
}
if(j==w){
t3=i;
if(t1&&t2){
break;
}
}
}
int IAKIOI=nxt[t1];
nxt[t1]=nxt[t2];
nxt[t2]=nxt[t3];
nxt[t3]=IAKIOI;
// int IAKIOI=nxt[t3];
// nxt[t3]=nxt[t1];
// nxt[t1]=nxt[t2];
// nxt[t2]=IAKIOI;
}
for(int i=nxt[0],j=1;j<=10;++j,i=nxt[i]){
printf("%d\n",i);
}
return 0;
}
```
@[zhangzhengyan0831](/user/715244)
by Sun_Email @ 2023-07-20 20:24:24
@[Sun_Email](/user/566451) e,就是交换换了一下是吧
by _zzzzzzy_ @ 2023-07-20 20:26:02
对 @[zhangzhengyan0831](/user/715244)
by Sun_Email @ 2023-07-20 20:26:44
@[Sun_Email](/user/566451) 你应该自己手搓一下就是了吧
by _zzzzzzy_ @ 2023-07-20 20:32:26
呃 手搓是什么
@[zhangzhengyan0831](/user/715244)
by Sun_Email @ 2023-07-20 20:34:04
@[Sun_Email](/user/566451) 手动模拟
by _zzzzzzy_ @ 2023-07-20 20:34:48