http://acm.zjnu.edu.cn/xiaosai/contests/1000/problems/1004.html
/*
1.输入
2.特殊处理空串的情况,有分隔符号在开头,中间,结尾(分倒数第二个是不是分隔符号两种情况,注意注释)
3.处理其他情况
新的知识点:
1.关于tring
.clear();
.empty();
+=44;√
+=tmp(string类型);√
2.函数的重要性......
*/
#include<cstdio>
#include<cstring>
#include<iostream>
#include<string>
using namespace std;
string s;
string a,b,tmp;
int judge(char c){
if(c==44||c==59) return 1;
else return 0;
}
int isInt(string tmp){
int len=tmp.length();
int flag1=0,flag2=0;
for(int i=0;i<len;i++){
if(!(tmp[i]<='9'&&tmp[i]>='0')) return 0;
else{
if(tmp[i]=='0'){
if(!flag1&&!flag2) flag1=1;
else if(flag1&&!flag2) return 0;
}
else{
if(flag1&&!flag2) return 0;
else{
flag2=1;
}
}
}
}
return 1;
}
int main()
{
cin>>s;
// cout<<s<<endl;
int len=s.length();
tmp.clear();
for(int i=0;i<len;i++){
if(i==0&&judge(s[0])||i>0&&judge(s[i])&&judge(s[i-1])){//出现空串的过程,
if(!b.empty()) b+=44;
b+=" ";//判断空串
if(i==len-1){//如果最后一个和倒数第二个都是分隔符号
if(!b.empty()) b+=44;
b+=' ';
tmp.clear();
}
tmp.clear();
continue;
}
//对非空串的处理
if(!judge(s[i])){
tmp+=s[i];
}
else{
// cout<<tmp<<endl;
if(isInt(tmp)){
if(!a.empty()) a+=44;
a+=tmp;
tmp.clear();
}
else{
if(!b.empty()) b+=44;
b+=tmp;
tmp.clear();
}
if(i==len-1){//如果最后一个是分隔的符号并且前一个不是分隔符号
if(!b.empty()) b+=44;
b+=' ';
tmp.clear();
}
}
}
if(!tmp.empty()){
if(isInt(tmp)){
if(!a.empty()) a+=44;
a+=tmp;
tmp.clear();
}
else{
if(!b.empty()) b+=44;
b+=tmp;
tmp.clear();
}
}
if(!a.empty()){
cout<<'\"';
int l=a.length();
for(int i=0;i<l;i++)
if(a[i]!=' ') cout<<a[i];
cout<<'\"'<<endl;
}
else{
cout<<'-'<<endl;
}
if(!b.empty()){
cout<<'\"';
int l=b.length();
for(int i=0;i<l;i++)
if(b[i]!=' ') cout<<b[i];
cout<<'\"'<<endl;
}
else{
cout<<'-'<<endl;
}
return 0;
}