镜像网站做排名,大健康网站怎么样做,做提升自己的网站,营销型网站制作的方法这个题,读懂了就是水,读不懂就没办法下手,论英语阅读的重要性...只有五种形式,第一种万能型aaaa,是另外3种的特殊情况,第二种克莱里林四行打油诗aabb形式,第三种是交替的abab形式,第四种是封闭的abba形式,第五种就是NO.题目的意思就是给我们四个原串,让我们counting from the e… 这个题,读懂了就是水,读不懂就没办法下手,论英语阅读的重要性...只有五种形式,第一种万能型aaaa,是另外3种的特殊情况,第二种克莱里林四行打油诗aabb形式,第三种是交替的abab形式,第四种是封闭的abba形式,第五种就是NO.题目的意思就是给我们四个原串,让我们counting from the end(从后往前数)找到第k个元音字母,从这个位置截取原串的suffixes(后缀),形成四个新串,判断这四个新串符合以上五中情况中的哪一个.如果原串不足k个元音字母,那情况直接就是no.在判断的时候需要注意aaaa不用管,它可以与任意情况重合(除NO以外),而剩下的4中任意两种都不可重合,代码及注释如下: #includeiostream
#includecstdio
#includecstring
#includealgorithm
using namespace std;
bool mark[10];///0aaaa,1aabb,2abab,3abba,4NO
char str[10110],newstr[5][10110];
char output[5][5] {aabb,abab,abba};
void Judge()
{if( !strcmp(newstr[0],newstr[1]) !strcmp(newstr[0],newstr[2]) !strcmp(newstr[0],newstr[3]))mark[0] 1;else if(!strcmp(newstr[0],newstr[1])!strcmp(newstr[2],newstr[3])) mark[1] 1;else if(!strcmp(newstr[0],newstr[2])!strcmp(newstr[1],newstr[3])) mark[2] 1;else if(!strcmp(newstr[0],newstr[3])!strcmp(newstr[1],newstr[2])) mark[3] 1;else mark[4] 1;
}
bool Is_vowels(char a)
{if(aa||ae||ai||ao||au) return true;return false;
}
int main()
{int n,k;scanf(%d%d,n,k);memset(mark,0,sizeof(mark));while(n--){//memset(newstr,0,sizeof(newstr));int tot,ok1;for(int i 0; i 4; i){scanf(%s,str);int lens strlen(str),pos;tot0;for(int j lens-1; j 0; j--){if(Is_vowels(str[j])){tot;}if(tot k){pos j;break;}}if(tot k){mark[4] 1;ok 0;}if(tot k)///这个判断必须要有,否则RE{for(int j pos; j lens; j){newstr[i][j-pos] str[j];}newstr[i][lens-pos] \0;///换行符结束标识}}if(ok)Judge();}if(mark[4]) puts(NO);///注意判断顺序else{bool flag true;for(int i 1; i 3; i){for(int j i1; j 3; j){if(mark[i] mark[j]){flag false;break;}}}if(!flag) puts(NO);else if(flag){for(int i 1; i 3; i){if(mark[i]){printf(%s\n,output[i-1]);flag false;break;}}if(flag){puts(aaaa);}}}return 0;
} 转载于:https://www.cnblogs.com/jifahu/p/5450434.html