目录
1.题目
2.题解
- 挖坑
3.代码实现
#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
int n;
string s;
template<class T>
void print(vector<T> &A)
{
int i;
for(i=0; i<A.size()-1; i++)
{
cout<<A[i]<<",";
}
cout<<A[i]<<endl;
}
template<class T>
void change(vector<T> &A)
{
print(A);
cout<<endl;
for(int i=0;i<A.size();i++)
{
if(i&&(A[i]==A[i-1]))
{
A.erase(A.begin()+i);
i--;
}
}
print(A);
}
int main()
{
cin>>n;
getchar();
getline(cin,s);
if(n==0)
{
vector<int> a;
int num=0;
for(int i=0; i<s.size(); i++)
{
if(s[i]==' ')
{
a.push_back(num);
num=0;
}
else
{
num=num*10+s[i]-'0';
}
}
a.push_back(num);
change(a);
}
else if(n==1)
{
vector<double> b;
double num=0;
int flag=0,t=0;
for(int i=0; i<s.size(); i++)
{
if(s[i]==' ')
{
num=num/pow(10,t);
b.push_back(num);
t=0,num=0,flag=0;
}
else if(s[i]=='.')
{
flag=1;
}
else
{
num=num*10+s[i]-'0';
if(flag==1)
t++;
}
}
num=num/pow(10,t);
b.push_back(num);
change(b);
}
else if(n==2)
{
vector<char> c;
for(int i=0; i<s.size(); i++)
{
if(s[i]!=' ')
c.push_back(s[i]);
}
change(c);
}
else if(n==3)
{
vector<string> d;
string str;
str.clear();
for(int i=0; i<s.size(); i++)
{
if(s[i]==' ')
{
d.push_back(str);
str.clear();
}
else
str+=s[i];
}
d.push_back(str);
change(d);
}
else
cout<<"err"<<endl;
return 0;
}