为啥TLE???
  • 板块P2104 二进制
  • 楼主sunnytutu
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/8/25 19:48
  • 上次更新2023/11/3 01:13:53
查看原帖
为啥TLE???
1048717
sunnytutu楼主2023/8/25 19:48

有大佬能帮帮我吗?

用了STL中的 bitsset

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m;
	cin>>n>>m;
	bitset<5000005*2> a;
	n--;
	cin>>a;
	while(m--){
		char c;
		cin>>c;
		int x=0;
		switch (c) {
			case '+':
				for(;a.test(x);x++){
					a.reset(x);
				}
				if(x==n+1){
					n=x;
				}
				a.set(x);
				break;
			case '-':
				for(;!a.test(x);x++){
					a.set(x);
				}
				if(x==n){
					n=x;
				}
				a.reset(x);
				break;
			case '*':
				a<<=1;
				n++;
				break;
			default:
				a>>=1;
				n--;
				break;
		}
	}
	for(int i=n;i>=0;i--){
		cout<<(a.test(i));
	}
	return 0;
}

提交记录传送门

2023/8/25 19:48
加载中...