7-195ジャーナル名の省略形(10点)
研究者はしばしば異なるジャーナルに原稿を投稿します。ただし、異なるジャーナルのレファレンスの形式はしばしば異なります。一部のジャーナルでは、レファレンスに掲載されているジャーナルの名前を省略形にする必要があります。そうしないと、原稿が直接拒否されます。特定のジャーナル名については、次の規則に従って短縮する必要があります。(1)長さが4以下の単語は短縮する必要はありません。(2)長さが4を超える単語は、最初の4文字ですが、その後に「。」を追加します。(3)すべての文字は小文字です。
入力形式:
最初に正の整数Tを入力します。これは、テストデータグループの数を意味し、次にTグループのテストデータを入力します。テストごとに、大文字と小文字、およびスペースを含む文字列を入力します(長さは85を超えません)。単語は複数の文字で構成され、単語はスペースで区切られます。
出力形式:
テストのグループごとに、単語の間にスペースを入れて、省略された結果を1行に出力します。
入力サンプル:
1
アドホックネットワーク
出力サンプル:アドホックネットワーク
。
#include<bits/stdc++.h>
using namespace std;
int main() {
int t;
cin>>t;
getchar();
while (t--) {
string s;
getline(cin,s);
s+=' ';
int slen=s.size();
int p=0;
for(int i=0;i<slen;i++)if(s[i]>='A'&&s[i]<='Z')s[i]+='a'-'A';
for(int i=0;i<slen;i++){
if(s[i]==' '){
string g=s.substr(p,i-p);
if(g.size()>4){
cout<<g.substr(0,4)<<".";
if(i!=slen-1)cout<<" ";
}
else {
cout<<g<<" ";
}
p=i+1;
}
}
cout<<endl;
}
}