1. 程式人生 > >杭電 字串

杭電 字串

題目連結: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>