题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1020
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n,k;
cin>>n;
while(n--)
{
string str;
cin>>str;
for(int i=0;i<str.length();i++)
{
k=1;
while(str[i]==str[i+1])
{
k++;i++; //一直自加直到 <span style="font-family: Arial, Helvetica, sans-serif;">str[i] != str[i+1] </span>
}
if(k!=1)
cout<<k<<str[i];
else
cout<<str[i];
}
cout<<endl;
}
return 0;
}
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1039
<span style="font-size:14px;">#include<iostream>
#include<string>
using namespace std;
int main()
{
int flag,a,b,i,k;
string s;
while(cin>>s&&s!="end")
{
flag=0;a=0;b=0;
k=s.length();
for(i=0;i<k;i++)
{
if(s[i]=='a'||s[i]=='e'||s[i]=='o'||s[i]=='i'||s[i]=='u')
{
a++;b=0;flag=1; //当 s[i]==s[i+1] 时,a++,当 s[i] 是元音时;flag=1
}
else
{
b++;a=0;//</span><span style="font-size:14px; font-family: Arial, Helvetica, sans-serif;">当 s[i]==s[i+1] 且</span><span style="font-size:14px; font-family: Arial, Helvetica, sans-serif;">当 s[i] 是辅音时 </span><span style="font-size:14px; font-family: Arial, Helvetica, sans-serif;">,b++,</span><span style="font-size:14px;">
}
if((a==2||b==2)&&s[i-1]==s[i]&&(s[i]!='e'&&s[i]!='o')||a==3||b==3)
{
break;
}
}
if(flag&&i==k) // i==k ,就是说s[i]一直在循环,并没有跳出循环,也就是说 str 满足条件
cout<<"<"<<s<<"> is acceptable."<<endl;
else
cout<<"<"<<s<<"> is not acceptable."<<endl;
}
return 0;
}</span>