题目描述】 输入一行单词序列,相邻单词之间由1个或多个空格间隔,请按照字典序输出这些单词,要求重复的单词只输出一次。(区分大小写)
【输入】 一行单词序列,最少1个单词,最多100个单词,每个单词长度不超过50,单词之间用至少1个空格间隔。数据不含除字母、空格外的其他字符。
【输出】 按字典序输出这些单词,重复的单词只输出一次。
//2023/3/29
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e6+10;
int num,ans;
string a[101];
int main()
{
int k=0;
bool flag=1;
string s;
getline(cin,s);
s+=' ';
for (int i=0;i<s.length();i++)
{
if(s[i]==' ')
{
if(flag)
{
k++;
for (int j=0;j<k-1;j++)
{
//cout<<a[j]<<" "<<a[k-1]<<endl;
if(a[j]==a[k-1])
{
//cout<<"1"<<endl;
a[k-1]="";
k--;
break;
}
}
flag=0;
}
}
else
{
a[k]+=s[i];
flag=1;
}
}
/*for (int i=0;i<=k;i++)
{
cout<<a[i]<<endl;
}*/
sort(a,a+k);
for (int i=0;i<k;i++)
{
cout<<a[i]<<endl;
}
return 0;
}