#5本地对测评错
查看原帖
#5本地对测评错
788951
TLE_AK楼主2022/11/5 14:28

rt

#include<bits/stdc++.h>
using namespace std;


char A[100010];

int main()
{
	cin>>A;
	double lc=0,ls=0,rc=0,rs=0;
	bool d=false;
	char w;
	for(int i=0;A[i]!='\0';i++)
	{
		if(A[i]>='0'&&A[i]<='9')
		{
			if(!d)
			{
				int num=0;
				if(i==0||A[i-1]=='+')
				{
					while(A[i]>='0'&&A[i]<='9')
					{
						num=num*10+A[i]-'0';
						i++;
					}
					if(A[i]>='a'&&A[i]<='z')
					{
						w=A[i];
						lc+=num;
					}
					else ls+=num;
				}
				else 
				{
					while(A[i]>='0'&&A[i]<='9')
					{
						num=num*10+A[i]-'0';
						i++;
					}
				//	cout<<i<<endl;
					if(A[i]>='a'&&A[i]<='z')
					{
						w=A[i];
						lc-=num;
					}
					else ls-=num;
				}
				
			}
			else
			{
				
				int num=0;
				if(A[i-1]=='+'||A[i-1]=='=')
				{
					while(A[i]>='0'&&A[i]<='9')
					{
						num=num*10+A[i]-'0';
						i++;
					}
					if(A[i]>='a'&&A[i]<='z')
					{
						w=A[i];
						rc+=num;
					}
					else rs+=num;
				}
				else 
				{
					while(A[i]>='0'&&A[i]<='9')
					{
						num=num*10+A[i]-'0';
						i++;
					}
					if(A[i]>='a'&&A[i]<='z')
					{
						w=A[i];
						rc-=num;
					}
					else rs-=num;
				}
				
			}
			
		}
		if(A[i]=='=')
		{
			d=true;
		}
		if(A[i]>='a'&&A[i]<='z')
		{
			w=A[i];
			if(i==0||A[i-1]=='+')
			{
				if(d)rc++;
				else lc++;
			}
			else if(A[i-1]=='-')
			{
			
				if(d)rc--;
				else lc--;
			
			}
		}
	}
	double c=lc-rc,s=rs-ls;

	double ans=s/c;
	if(ans==-0)cout<<w<<"=0.000";
	
	else printf("%c=%0.3lf",w,ans);
	return 0;
}
```
2022/11/5 14:28
加载中...