这个题,读懂了就是水,读不懂就没办法下手,论英语阅读的重要性...只有五种形式,第一种万能型aaaa,是另外3种的特殊情况,第二种克莱里林四行打油诗aabb形式,第三种是交替的abab形式,第四种是封闭的abba形式,第五种就是NO.题目的意思就是给我们四个原串,让我们counting from the end(从后往前数)找到第k个元音字母,从这个位置截取原串的suffixes(后缀),形成四个新串,判断这四个新串符合以上五中情况中的哪一个.如果原串不足k个元音字母,那情况直接就是no.在判断的时候需要注意aaaa不用管,它可以与任意情况重合(除NO以外),而剩下的4中任意两种都不可重合,代码及注释如下:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
bool mark[];///0=aaaa,1=aabb,2=abab,3=abba,4=NO
char str[],newstr[][];
char output[][] = {"aabb","abab","abba"};
void Judge()
{
if( !strcmp(newstr[],newstr[])&& !strcmp(newstr[],newstr[])&& !strcmp(newstr[],newstr[]))
mark[] = ;
else if(!strcmp(newstr[],newstr[])&&!strcmp(newstr[],newstr[])) mark[] = ;
else if(!strcmp(newstr[],newstr[])&&!strcmp(newstr[],newstr[])) mark[] = ;
else if(!strcmp(newstr[],newstr[])&&!strcmp(newstr[],newstr[])) mark[] = ;
else mark[] = ;
}
bool Is_vowels(char a)
{
if(a=='a'||a=='e'||a=='i'||a=='o'||a=='u') return true;
return false;
}
int main()
{
int n,k;
scanf("%d%d",&n,&k);
memset(mark,,sizeof(mark));
while(n--)
{
//memset(newstr,0,sizeof(newstr));
int tot,ok=;
for(int i = ; i < ; i++)
{
scanf("%s",str);
int lens = strlen(str),pos;
tot=;
for(int j = lens-; j >= ; j--)
{
if(Is_vowels(str[j]))
{
tot++;
}
if(tot == k)
{
pos = j;
break;
}
}
if(tot < k)
{
mark[] = ;
ok = ;
}
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[]) puts("NO");///注意判断顺序
else
{
bool flag = true;
for(int i = ; i <= ; i++)
{
for(int j = i+; j <= ; j++)
{
if(mark[i] && mark[j])
{
flag = false;
break;
}
}
}
if(!flag) puts("NO");
else if(flag)
{
for(int i = ; i <= ; i++)
{
if(mark[i])
{
printf("%s\n",output[i-]);
flag = false;
break;
}
}
if(flag)
{
puts("aaaa");
}
}
}
return ;
}

CodeForces 139C Literature Lesson(模拟)的更多相关文章

  1. Codeforces 738D. Sea Battle 模拟

    D. Sea Battle time limit per test: 1 second memory limit per test :256 megabytes input: standard inp ...

  2. Codeforces 626A Robot Sequence(模拟)

    A. Robot Sequence time limit per test:2 seconds memory limit per test:256 megabytes input:standard i ...

  3. CodeForces - 589D(暴力+模拟)

    题目链接:http://codeforces.com/problemset/problem/589/D 题目大意:给出n个人行走的开始时刻,开始时间和结束时间,求每个人分别能跟多少人相遇打招呼(每两人 ...

  4. Codeforces 767B. The Queue 模拟题

    B. The Queue time limit per test:1 second memory limit per test:256 megabytes input:standard input o ...

  5. Codeforces 704A Thor 队列模拟

    题目大意:托尔有一部手机可执行三种操作 1.x APP产生一个新消息 2.读取x App已产生的所有消息 3.读取前t个产生的消息 问每次操作后未读取的消息的数量 题目思路: 队列模拟,坑点在于竟然卡 ...

  6. Vasya And The Mushrooms CodeForces - 1016C (前缀和模拟)

    大意: 给定2*n的矩阵, 每个格子有权值, 走到一个格子的贡献为之前走的步数*权值, 每个格子只能走一次, 求走完所有格子最大贡献. 沙茶模拟打了一个小时总算打出来了 #include <io ...

  7. Codeforces 691C. Exponential notation 模拟题

    C. Exponential notation time limit per test: 2 seconds memory limit per test:256 megabytes input: st ...

  8. Codeforces 658A. Robbers' watch 模拟

    A. Robbers' watch time limit per test: 2 seconds memory limit per test: 256 megabytes input: standar ...

  9. Codeforces 438D (今日gg模拟第二题) | 线段树 考察时间复杂度的计算 -_-|||

    Codeforces 438D The Child and Sequence 给出一个序列,进行如下三种操作: 区间求和 区间每个数模x 单点修改 如果没有第二个操作的话,就是一棵简单的线段树.那么如 ...

随机推荐

  1. Python第三方库安装技巧

    pytho下有三种安装第三方库方法: 1.通过easy_install安装 2.通过Pip安装 前面两种,由于受国内部门网站原因,如果安装失败,可采用接下来的第三种方法 3.在指定网站下载安装 第三方 ...

  2. Python logging模块使用记录

    1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info messa ...

  3. /etc/fstab 文件解释

    /etc/fstab 文件解释 文件fstab包含了你的电脑上的存储设备及其文件系统的信息.它是决定一个硬盘(分区)被怎样使用或者说整合到整个系统中的唯一文件. 这个文件的全路径是/etc/fstab ...

  4. 我的 Github 个人博客是怎样炼成的

    Joey's Blog 长大后才发现政府建造 GFW 真是太 TM 机智了,由于本人自制力较差,且不说 91porn, youporn 等两性知识网站的超强战斗力,单单一个Youtube就可以让我瞬间 ...

  5. Nmap的使用【转载】

    1.NMap工具 主要功能:探测主机是否在线.扫描主机开放端口和嗅探网络服务,用于网络探测和安全扫描. NMap支持很多扫描技术,例如:UDP.TCPconnect().TCPSYN(半开扫描).ft ...

  6. crontab如何设置秒级别的定时【转载】

    * * * * * date > /home/gamester88/test/nihao.txt * * * * * (sleep 10 && date >> /ho ...

  7. XStream的使用方法、简单使用方法、xml的解析方法

    下面介绍的是在Android Studio中的使用 Android Studio中目前支持的Xstream最高版本是xstream-1.4.7.jar,大家可以在网上下载,我的是在开源中国项目中有这个 ...

  8. Unable to open connection to supplicant on "/data/misc/wifi/sockets/wlan0"

    在调试android wifi UI 的时候,出现了 logcat:  Unable to open connection to supplicant on "/data/misc/wifi ...

  9. Zabbix3.0 安装Graphtree

    zabbix中,想要集中展示图形,唯一的选择是screen,zatree可以解决这个问题,但是性能不是很好. Graphtree由OneOaas开发并开源出来,用来解决zabbix的图形展示问题,性能 ...

  10. 最小点集覆盖/HDU2119

    题目连接 先试一下题/?/ 最小点集覆盖=最大匹配 /*根据i.j建图,跑一边最大匹配 */ #include<cstdio> #include<cstring> using ...