手测都对,提交全WA,测过在线IDE
查看原帖
手测都对,提交全WA,测过在线IDE
225964
entity楼主2020/10/28 22:21
#include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
using namespace std;
/*
4
a 64 46
275 125
c 11 99
b 46 64

1
a 99 999
*/
int a,b,c,n,len=0;
char str[30]={},save='d';
int space[11]={1,10,100,1000,10000};
int main(){
	scanf("%d",&n);
	getchar();
	while(n--){
		len=0;
		cin.getline(str,20);
		if(str[0]>='a'&&str[0]<='c'){
			bool f=false;
			a=0;
			b=0;
			int lenth=strlen(str);
			for(int i=2;i<lenth;i++){
				if(str[i]==' '){
					f=true;
				}else{
					if(!f) a=a*10+str[i]-'0';
					else b=b*10+str[i]-'0';
				}
			}
			if(str[0]=='a'){
				c=a+b;
				save='a';
			}else{
				if(str[0]=='b'){
					c=a-b;
					save='b';
				}else{
					c=a*b;
					save='c';
				}
			}
		}else{
			bool f=false;
			a=0;
			b=0;
			int lenth=strlen(str);
			for(int i=0;i<lenth;i++){
				if(str[i]==' '){
					f=true;
				}else{
					if(!f) a=a*10+str[i]-'0';
					else b=b*10+str[i]-'0';
				}
			}
			if(save=='a') c=a+b;
			else if(save=='b') c=a-b;
			else c=a*b;
		}
		cout<<a;
		if(save=='a') cout<<'+';
		else if(save=='b') cout<<'-';
		else cout<<'*';
		cout<<b<<'='<<c<<endl;
		if(a<0){
			len++;
			a=-a;
		}
		if(b<0){
			len++;
			b=-b;
		}
		if(c<0){
			len++;
			c=-c;
		}
		if(a>10000)len+=5;
		else
			for(int i=1;i<=4;i++)
				if(space[i]>a){
					len+=i;
					break;
				}
		if(b>10000)len+=5;
		else
			for(int i=1;i<=4;i++)
				if(space[i]>b){
					len+=i;
					break;
				}
		if(c>10000)len+=5;
		else
			for(int i=1;i<=4;i++)
				if(space[i]>c){
					len+=i;
					break;
				}
		len+=2;
		cout<<len<<endl;
	}
	return 0;
} 

第一个测试点说我的第六位是5,洛谷在线IDE测试过,没有问题QwQ

2020/10/28 22:21
加载中...