不明RE
查看原帖
不明RE
467616
osky123456楼主2022/7/2 08:10
// Problem: UVA12657 移动盒子 Boxes in a Line
// URL: https://www.luogu.com.cn/problem/UVA12657
#include<bits/stdc++.h>
using namespace std;
list<int> box;
int main(){
	int n,m,tot=0;
	while(cin>>n>>m){
		printf("Case %d: ",++tot);
		
		for(int i=1;i<=n;++i)
			box.push_back(i);
		while(m--){
			int op;cin>>op;
			if(op==1){
				int x,y;cin>>x>>y;
				auto it=box.begin();
				advance(it,y-1);
				box.remove(x);
				box.insert(it,1,x);
			}
			else if(op==2){
				int x,y;cin>>x>>y;
				auto it=box.begin();
				advance(it,y);
				box.remove(x);
				box.insert(it,1,x);
			}
			else if(op==3){
				int x,y;cin>>x>>y;
				auto it1=box.begin();
				auto it2=box.begin();
				advance(it1,y);
				box.remove(y);
				advance(it2,x+1);
				box.remove(x);
				box.insert(it1,1,x);
				box.insert(it2,1,y);
			}
			else{
				box.reverse();
			}
		}
		int t=1;
		long long ans=0;
		for(int x:box){
			if((t++)%2) {ans+=x;}
		}
		cout<<ans<<endl;
		box.clear();
	}
    return 0;
}


难道只要用了STLSTL就会RERE

2022/7/2 08:10
加载中...