本人代码被外星人加入大量草履虫导致wa90分,求条
查看原帖
本人代码被外星人加入大量草履虫导致wa90分,求条
941801
louie2011楼主2024/8/4 10:15
#include<bits/stdc++.h>
using namespace std;
int arr[100050];
char op[100050];
int nxt[100050];
struct node
{
	int num;
	char op;
	node()
	{
		num=0;
		op=0;
	}
	node(int a,char b)
	{
		num=a;
		op=b;
	}
};
queue<node> q;
int n=1;
int main()
{
//	freopen("114514.in","r",stdin);
	cin>>arr[1];
	while(cin>>op[n]>>arr[n+1])
	{
		nxt[n]=n+1;
		arr[n]%=10000;
		n++;
	}
	nxt[n]=100049;
	int i=1;
	while(nxt[i]<=n)
	{
		if(op[i]=='*')
		{
			arr[i]=arr[i]*arr[nxt[i]]%10000;
			op[i]=op[nxt[i]];
			nxt[i]=nxt[nxt[i]];
		}
		else
		{
			while(op[i]=='+')
			{
				i++;
			}
		}
//		cout<<arr[1];
//    	for(int j=1;j<n;j=nxt[j])
//    	{
//    		cout<<op[j]<<arr[nxt[j]];
//    	}
//	    cout<<endl;
	}
	i=1;
	
	while(nxt[i]<=n)
	{
		if(op[i]=='+')
		{
			arr[i]=(arr[i]+arr[nxt[i]])%10000;
			op[i]=op[nxt[i]];
			nxt[i]=nxt[nxt[i]];
		}
		else
		{
			while(op[i]=='*')
			{
				i++;
			}
		}
//		cout<<arr[1];
//    	for(int j=1;j<n;j=nxt[j])
//    	{
//    		cout<<op[j]<<arr[nxt[j]];
//    	}
//	    cout<<endl;
	}
	cout<<arr[1];
	return 0;
}

提交记录

2024/8/4 10:15
加载中...