社区讨论

30分,其余全部超时。求大神看看。

P7073[CSP-J 2020] 表达式参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@locypepn
此快照首次捕获于
2023/10/30 21:55
2 年前
此快照最后确认于
2023/11/05 08:16
2 年前
查看原帖
实在不知道怎么降低了,求助。
CPP
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
string s;
bool a[100001],b[100001];
int main(){
	getline(cin,s);
	int n,q,c,t;
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i];	
	cin>>q;
	for(int z=1;z<=q;z++){
		cin>>c;
		a[c]=!a[c];
		t=0;
		for(int j=0;j<s.size();j++){
			if(s[j]=='x'){
				int l=0;
				while(s[++j]!=' ')
					l=l*10+s[j]-'0';
				b[++t]=a[l];
				continue;
			}
			else if(s[j]=='!'){
				b[t]=!b[t];
				continue;
			}
			else if(s[j]=='&'){
				b[t-1]=b[t-1]&b[t];
				t--;
				continue;
			}
			else if(s[j]=='|'){
				b[t-1]=b[t-1]|b[t];
				t--;
				continue;
			}
		}
		cout<<b[1]<<endl;
		a[c]=!a[c];
	}

	return 0;
} 

回复

3 条回复,欢迎继续交流。

正在加载回复...