Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
118893 梁乃元 表达式求值 C++ 通过 100 11 MS 2820 KB 851 2024-01-02 13:23:25

Tests(10/10):


#include <iostream> #include <string> using namespace std; int cur = 0 ; int a [1000005] ; char op [1000005] ; void gts ( string s ) { int t = 0 ; for ( int i = 0 ; i < s . size () ; i ++ ) { if ( s [i] >= '0' && s [i] <= '9' ) { t = t *10 + s [i] - '0' ; t %= 10000 ; if ( s [i + 1] < '0' || s [i + 1] > '9' || i + 1 > s . size ( ) ) { cur ++ ; a [cur] = t ; t = 0 ; } } else { op [cur] = s [i] ; } } } int cal ( ) { int sum = 0 ; for ( int i = 1 ; i <= cur - 1 ; i++ ) { if ( op[i] == '*' ) { a[i + 1] = ( a[i] * a[i + 1] ) % 10000 ; a[i] = 0 ; } sum += a[i] ; } sum += a[cur] ; return sum % 10000 ; } int main() { string s ; cin >> s ; gts ( s ) ; int ans = cal () ; cout << ans << endl ; return 0; }


测评信息: