HDU 1106 - Split String

来源:互联网 发布:沈阳seo技术 编辑:程序博客网 时间:2024/06/06 12:22

Split String

-->>Get the input string and split them to int array.

-->>The point exsits in how to split the string properly.

-->>And also C++ also allow us to use '+' to build a string.


http://acm.hdu.edu.cn/showproblem.php?pid=1106

#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>using namespace std;char s[1005];int a[1005];int toInt(string s) {int len = s.length();int sum = 0;for(int i = 0; i < len; i++)sum += (s[i] - '0') * pow(10.0, len - 1 - i);return sum;}int main() {int len, index;string subString;while(scanf("%s", s) != EOF) {len = strlen(s);index = 0;subString = "";for(int i = 0; i < len; ++i) {if(s[i] != '5') {subString += s[i];if(i == len - 1) // If now is to the end, save the last one.a[index++] = toInt(subString);}else if(s[i] == '5' && s[i - 1] != '5' && i != 0) {   // The '5' can't be the first one and also the first consecutive '5';a[index++] = toInt(subString);subString = "";}}sort(a, a + index);for(int i = 0; i < index - 1; ++i)cout << a[i] << " ";cout << a[index - 1] << endl;}return 0;}


0 0