全WA,不知道哪出问题
查看原帖
全WA,不知道哪出问题
839309
99wwww楼主2024/3/8 13:04
#include<bits/stdc++.h>
using namespace std;
long long n,m,a[100005],b[100005],c[100005],mm,kg,sf,gw,sw,bw,qw,ab;
string s;
char ss[100005];
int main(){
	cin>>n;
	for(int i=1;i<=n+1;i++)
	{
		kg=0,m=0;
		getline(cin,s);
		//cout<<s<<" ";
		for(int j=0;j<s.size();j++)
		{
			if(s[j]>='a' && s[j]<='c'){
				ss[i]=s[j];
			}
			else if(s[j]>='0' && s[j]<='9'){
				m=m*10+(s[j]-'0');
			}
			else{
				kg++;
				if(ss[i]=='a' || ss[i]=='b' || ss[i]=='c'){
					if(kg==2){
						a[i]=m;
						m=0;
					}
				}
				else{
					a[i]=m;
					m=0;
				}
			}
		}
		b[i]=m;
		if(ss[i]=='a' || ss[i]=='b' || ss[i]=='c'){
			c[i]=s.size()-1;
			//cout<<c[i]<<" ";
		}
		else c[i]=s.size()+1;
	}
	for(int i=1;i<=n+1;i++)
	{
		if(i==1) continue;
		if(ss[i]=='a') sf=1;
		else if(ss[i]=='b') sf=2;
		else if(ss[i]=='c') sf=3;
		if(sf==1){
			ab=a[i]+b[i];
			cout<<a[i]<<"+"<<b[i]<<"="<<a[i]+b[i]<<endl;
			if(a[i]+b[i]<0){
				c[i]++;
				ab=abs(ab);
			}
			qw=(ab)/1000;
			bw=(ab)/100;
			sw=(ab)/10;
			gw=(ab)/1;
			if(qw>0) c[i]+=4;
			else if(bw>0) c[i]+=3;
			else if(sw>0) c[i]+=2;
			else if(gw>=0) c[i]+=1;
			cout<<c[i]<<endl;
			//cout<<qw<<" "<<bw<<" "<<sw<<" "<<gw<<endl;
		}
		else if(sf==2){
			ab=a[i]-b[i];
			cout<<a[i]<<"-"<<b[i]<<"="<<a[i]-b[i]<<endl;
			if(a[i]-b[i]<0){
				c[i]++;
				ab=abs(ab);
			}
			qw=(ab)/1000;
			bw=(ab)/100;
			sw=(ab)/10;
			gw=(ab)/1;
			if(qw>0) c[i]+=4;
			else if(bw>0) c[i]+=3;
			else if(sw>0) c[i]+=2;
			else if(gw>0) c[i]+=1;
			cout<<c[i]<<endl;
		}
		else if(sf==3){
			ab=a[i]*b[i];
			cout<<a[i]<<"*"<<b[i]<<"="<<a[i]*b[i]<<endl;
			if(a[i]*b[i]<0){
				c[i]++;
				ab=abs(ab);
			}
			qw=(ab)/1000;
			bw=(ab)/100;
			sw=(ab)/10;
			gw=(ab)/1;
			if(qw>0) c[i]+=4;
			else if(bw>0) c[i]+=3;
			else if(sw>0) c[i]+=2;
			else if(gw>0) c[i]+=1;
			cout<<c[i]<<endl;
		}
		
	}
	return 0;
}
2024/3/8 13:04
加载中...