很短的做法
查看原帖
很短的做法
609141
封禁用户楼主2024/4/12 19:23
#include<bits/extc++.h>
using namespace __gnu_cxx;
rope<int> r1,r2,t1,t2;
int main(){
	int n,m,l,r;scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++)r1.push_back(i),r2.push_back(n-i+1);
	while(m--){
		scanf("%d%d",&l,&r);l--,r--;
		t1=r2.substr(n-r-1,r-l+1),t2=r1.substr(l,r-l+1);
		r1=r1.substr(0,l)+t1+r1.substr(r+1,n-r);
		r2=r2.substr(0,n-r-1)+t2+r2.substr(n-l,l+1);
	}for(int i=0;i<n;i++)printf("%d ",r1[i]);
}
2024/4/12 19:23
加载中...