60分求助
查看原帖
60分求助
1000281
Y_Q_Y楼主2024/10/2 23:57

错 #2 #8 #9 #10

错的都显示比预期小了1

#2
Wrong Answer.wrong answer On line 4 column 2, read 5, expected 6.

#include<iostream>
#include<string>
#include<ctype.h>
#define LL long long
using namespace std;

void solve(string s) {
	int len=s.length(),index=-1;
	LL  sum=0,temp=0;
	bool flag=true,none=true;
	for(int i=0; i<len; i++) {
		if(isdigit(s[i])){
			temp=temp*10+int(s[i]-'0');
			if(flag){
				index=i;
				flag=false;
			}
			none=false;
		}else if(temp!=0) {
			if(index-1>=0) if(s[index-1]=='-') {
					if(index-2>=0) {
						if(!isdigit(s[index-2])) temp=-temp;
					} else temp=-temp;
				}
			sum+=temp;
			temp=0;
			flag=true;
		}
	}
	if(temp!=0) {
		if(index-1>=0) if(s[index-1]=='-') {
				if(index-2>=0) {
					if(!isdigit(s[index-2])) temp=-temp;
				} else temp=-temp;
			}
	}
	sum+=temp;
	temp=0;
	if(none) return;
	cout<<sum<<"\n";
}

int main () {
	string ss;
	while(getline(cin,ss)) solve(ss);
	return 0;
}
2024/10/2 23:57
加载中...