杭電 字串
阿新 • • 發佈:2019-02-10
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=1020
題目連結:http://acm.hdu.edu.cn/showproblem.php?pid=1039#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; }
<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>