为什么样例和第一个数据都一样了,但全部WA?
查看原帖
为什么样例和第一个数据都一样了,但全部WA?
222725
Bqr_Love_HYZ楼主2022/4/28 13:52

RT

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

long long ws(long long n){
	long long m = n,cnt = 0;
	if(n < 0) ++cnt;
	while(m){
		m /= 10;
		++cnt;
	}
	return cnt;
}

long long hyz(char ch){
	long long a;
	a = ch - '0';
	char chh;
	while(chh = getchar() != ' '){
		a = 10*a + chh - '0';
	}
	return a;
}

int main(){
	long long n; scanf("%lld",&n);
	++n;
	while(n--){
		string s;
		char ch;
		long long a = 0,b = 0;
		getline(cin,s);
		if(isdigit(s[0])){
			ch = 'a';
			long long i;
			for(i=0;s[i]!=' ';++i){
				a = 10*a + s[i] - '0';
			}
			for(long long j=i+1;s[j]!='\0';++j){
				b = 10*b + s[j] - '0';
			}
		}
		else{
			ch = s[0];
			long long i;
			for(i=2;s[i]!=' ';++i){
				a = 10*a + s[i] - '0';
			}
			for(long long j=i+1;s[j]!='\0';++j){
				b = 10*b + s[j] - '0';
			}
		}
		switch(ch){
			case 'a':printf("%lld+%lld=%lld\n%lld\n",a,b,a+b,ws(a)+ws(b)+2+ws(a+b)); break;
			case 'b':printf("%lld-%lld=%lld\n%lld\n",a,b,a-b,ws(a)+ws(b)+2+ws(a-b)); break;
			case 'c':printf("%lld*%lld=%lld\n%lld\n",a,b,a*b,ws(a)+ws(b)+2+ws(a*b)); break;
		}
	}
	return 0;
}

P1957_1.in:
1
a 99 999

P1957_1.out:
99+999=1098
11

为什么啊啊啊啊……求助QAQ

2022/4/28 13:52
加载中...