10分求助
查看原帖
10分求助
657210
dp_hater楼主2023/3/28 21:03
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define itn int
typedef unsigned long long sln;
const int mod=10000;
signed main(){
	char a; int k=0,tt=0,ttmulti=1;
	while(cin>>a){
		if(a>='0'&&a<='9'){
			k*=10;
			k+=a-'0';
			k%=mod; 
		}
		else{
			if(a=='+'){
				if(ttmulti==1){
					tt+=k;
					tt%=mod;
					k=0;
				}
				else{
					tt+=ttmulti;
					tt%=mod; 
					ttmulti=1;
				}
			}
			else{
				k%=mod;
				ttmulti*=k; 
				ttmulti%=mod;
				k=0;
			}
		}
	} //a='1' k+=1 k=1 k%=10000 k=1 a='+' a=='+' ttmulti=1 tt+=k tt+=1 tt=1 
	if(ttmulti==1){
		tt+=k;
		tt%=mod;
	}
	else{
		tt+=ttmulti;
		tt%=mod;
	}
	cout<<tt;
	cout<<endl;
	return 0;
}

本地测试没问题,一交就第一个点对,其余全错。

2023/3/28 21:03
加载中...