jiangfan20041008 @ 2024-02-04 01:23:07
本题建议再给个样例
输入:
10 1
2 3 4
输出:
1
4
5
6
2
3
7
8
9。
本题的“粘贴”操作是将剪切下来的文本插入到文件中的其他地方,而这里的文件是插入后的文件,而不是插入前!!!以我给的样例为例,可能有人会输出1 4 2 3 5 6 7 8 9,可能这就是有人全wa的原因(本人一开始也是全wa)
附上本人的代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int N,K;
cin>>N>>K;
int wen[N+1];
for(int i=1;i<=N;i++)wen[i]=i;
while(K--){
int a,b,c;
cin>>a>>b>>c;
int fu[b-a+1];
for(int i=a;i<=b;i++)fu[i-a]=wen[i];//将需要复制的部分存到fu[]数组
int xiu[N-b+a],hou[N+1];
for(int i=1;i<a;i++)xiu[i]=wen[i];
for(int i=a;i<=N-b+a-1;i++)xiu[i]=wen[i-a+b+1];//将复制的部分去掉后的原数组存入xiu[]
for(int i=1;i<=c;i++)hou[i]=xiu[i];
for(int i=c+1;i<=c+1+b-a;i++)hou[i]=fu[i-c-1];
for(int i=c+2+b-a;i<=N;i++)hou[i]=xiu[i-b+a-1];//将复制的部分存放到制定的地方
for(int i=1;i<=N;i++)wen[i]=hou[i];//将处理完的数组再赋给原数组以便于循环
}
for(int i=1;i<=10;i++)cout<<wen[i]<<endl;
return 0;
}
by QWQAWAQWQAWA @ 2024-02-09 19:27:27
ty(thank you
by QWQAWAQWQAWA @ 2024-02-09 20:16:44
这个数据点太好了!ty
by Tiskan_H @ 2024-07-22 17:28:47
@jiangfan20041008 thx!!!