不是我一上来就要代码,是字符处理真的不会,我是一个.刚学完语法基础的人,所以这一块不是很熟。
问题:大狗秒密码都是由数字组成且没有前导 0,它闲,于是打算将密码分解成一个或多个大于等于 0 的数字相加,再在这些数字之间加上一些无关字母,说这么多可能 你也蒙了,上样例!!
读入:aa1200b33cba1
输出:1234
解释:1200+33+1
这时候你肯定说:呵呵哒,你怎么不枚举呢?
那你看看数据的(⊙﹏⊙
1≤∣s∣≤10的5次方
我确实水数据拿到了5分
我希望能得到部分函数或者源码
不是我一上来就要代码,是字符处理真的不会,我是一个.刚学完语法基础的人,所以这一块不是很熟。
问题:大狗秒密码都是由数字组成且没有前导 0,它闲,于是打算将密码分解成一个或多个大于等于 0 的数字相加,再在这些数字之间加上一些无关字母,说这么多可能 你也蒙了,上样例!!
读入:aa1200b33cba1
输出:1234
解释:1200+33+1
这时候你肯定说:呵呵哒,你怎么不枚举呢?
那你看看数据的(⊙﹏⊙
1≤∣s∣≤10的5次方
我确实水数据拿到了5分
我希望能得到部分函数或者源码
#include<iostream>
using namespace std;
int main()
{
string s;
cin >> s;
long long sum = 0;
long long temp = 0;
for (int i = 0; i < s.size(); i++)
{
if (s[i] >= '0' && s[i] <= '9')
{
temp *= 10;
temp += s[i] - '0';
}
else
{
sum += temp;
temp = 0;
}
}
cout << sum << endl;
return 0;
}