mirror of
https://github.com/Kiritow/OJ-Problems-Source.git
synced 2024-03-22 13:11:29 +08:00
41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
|
#include<iostream>
|
||
|
#include<sstream>
|
||
|
#include<algorithm>
|
||
|
#include<set>
|
||
|
using namespace std;
|
||
|
int main()
|
||
|
{
|
||
|
cin.sync_with_stdio(false);
|
||
|
int n,maxlen,cas=1;
|
||
|
while(cin>>n>>maxlen)
|
||
|
{
|
||
|
if(n==0&&maxlen==0) break;
|
||
|
cout<<"Case "<<cas++<<endl;
|
||
|
string s,a,b,ss;
|
||
|
set<string>myset;
|
||
|
getline(cin,s);
|
||
|
for(int i=0;i<n;i++)
|
||
|
{
|
||
|
getline(cin,ss);
|
||
|
for(int j=0;j<ss.length();j++)
|
||
|
while(ss[j]==39||ss[j]==45) ss.erase(j,1);
|
||
|
istringstream oss(ss);
|
||
|
oss>>a;while(oss>>b);
|
||
|
s=a[0]+b;
|
||
|
for(int i=0;i<s.length();i++) s[i]=tolower(s[i]);
|
||
|
string add;int id=1;
|
||
|
if(s.length()>maxlen) s.erase(maxlen);
|
||
|
while(myset.find(s+add)!=myset.end())
|
||
|
{
|
||
|
add.clear();
|
||
|
if(id>9) add+=48+id/10;add+=48+id%10;
|
||
|
if(add.length()+s.length()>maxlen)
|
||
|
s.erase(maxlen-add.length());
|
||
|
id++;
|
||
|
}
|
||
|
myset.insert(s+add);cout<<s+add<<endl;
|
||
|
}
|
||
|
}
|
||
|
return 0;
|
||
|
}
|