描述
胡老师觉得小明每天刷题太辛苦,决定给小明出一个简单点的题目,于是他打开电脑,在一个记事本文档里写了一串数字字符串,本来他只打算让小明统计一下里面包含多少个数字2,突然间一只猫跳到了键盘上,猫爪一通乱按,于是小明那个纯数字字符串就变成了字母和数字混合在一起的字符串,于是胡老师也想到了问小明一个新的问题。
现在他问小明这个字母和数字混合的字符串中共包含多少个不同的整数?
注意:
1、数据保证除非这个整数是0,否则不会出现以0开头的数字字符串,也就是说不会出现下面这样的字符串:
abc012dds0048dex
2、数据保证任何整数的值不会超过1000。
输入
输入只有一行字符串,只包含小写字母和0~9字符。
输出
输入只有一行字符串,只包含小写字母和0~9字符。
Code:
#include<bits/stdc++.h>
using namespace std;
char str[1000];int ans,sum[10000000];
inline void check(){
cin>>str;
for(int i=0;i<strlen(str);i++){
if(str[i]>='0'&&str[i]<='9'){
int temp=0,j=1;
while(str[i]>='0'&&str[i]<='9'){
temp+=j*(str[i]-'0');
j*=10;
i++;
}
sum[temp]=1;
}
}
}
int main(){
check();
for(int i=0;i<=10000000;i++) ans+=sum[i];
cout<<ans;
return 0;
}
(为什么我的桶编号是倒着的