问题 B: FIX

时间限制: 1 Sec  内存限制: 64 MB
提交: 38  解决: 11
[提交][状态][讨论版]

题目描述

如果单词 X 由单词 Y 的前若干个字母构成,我们称 X 是 Y 的前缀,例如“c”、“ca”、“cat”是单词“cat”的前缀;类似地如果单词 X 由单词 Y 的最后若干个字母构成,我们称 X 是 Y的后缀,例如“t”、“at”、“cat”是单词“cat”的后缀。请你编一程序判断一组单词是否满足任一单词都不是其它单词的前缀且任一单词都不是其它单词的后缀。

输入

共有 3N+1 行,其中第一行包含一个正整数 N(N<=10),表示要你作出判断的单词总组数,每组单词有三个。接下来的 3N 行每行一个单词,每个单词长度不超过 255。

输出

共有 N 行,每行输出一个“Yes”或“No”,表示对相应的三个单词给出的判断结果,满足条件输出“Yes”,不满足条件输出“No”。

样例输入

2
abba
aab
bab
a
ab
aa

样例输出

Yes
No
#include <iostream>
#include <cstdio>
#include <cstring> using namespace std; void revers(char s[],int len){
int c,j,i;
for(int i=,j=len-;i<j;i++,j--){
s[i]^=s[j];
s[j]^=s[i];
s[i]^=s[j];
}
} int main()
{
int n;
char a[];
char b[];
char c[];
scanf("%d",&n);
for(int i=;i<n;i++){
scanf("%s",a);
scanf("%s",b);
scanf("%s",c);
int t4=,t5=;
int lena=strlen(a);
int lenb=strlen(b);
int lenc=strlen(c);
int l=;
int t1=,t2=,t3=;
int bbb=;
for(int j=;j<;j++){
if(j==){
int l=;
int cou=;
while(a[cou]!='\0'&&b[cou]!='\0'){
if(a[cou]==b[cou]){
l++;
}
cou++;
}
if(l==lena){
printf("No\n");
bbb=;
break;
} l=;
cou=;
while(a[cou]!='\0'&&c[cou]!='\0'){
if(a[cou]==c[cou]){
l++;
}
cou++;
}
if(l==lenc){
printf("No\n");
bbb=;
break;
}
t1=;
}
if(j==){
int l=;
int cou=;
while(b[cou]!='\0'&&a[cou]!='\0'){
if(b[cou]==a[cou]){
l++;
}
cou++;
}
if(l==lenb){
printf("No\n");
bbb=;
break;
} l=;
cou=;
while(b[cou]!='\0'&&c[cou]!='\0'){
if(b[cou]==c[cou]){
l++;
}
cou++;
}
if(l==lenb){
printf("No\n");
bbb=;
break;
}
t2=;
}
if(j==){
int l=;
int cou=;
while(c[cou]!='\0'&&a[cou]!='\0'){
if(c[cou]==a[cou]){
l++;
}
cou++;
}
if(l==lenc){
printf("No\n");
bbb=;
break;
} l=;
cou=;
while(c[cou]!='\0'&&b[cou]!='\0'){
if(c[cou]==b[cou]){
l++;
}
cou++;
}
if(l==lenc){
printf("No\n");
bbb=;
break; }
t3=;
} if(t1==&&t2==&&t3==){
t4=;
t1=;
t2=;
t3=;
}
}
if(bbb==){
bbb=;
continue;
}
revers(a,lena);
revers(b,lenb);
revers(c,lenc);
//printf("%s\n",a);
//printf("%s\n",b);
//printf("%s\n",c); l=;
t1=;
t2=;
t3=;
bbb=;
for(int j=;j<;j++){
if(j==){
int l=;
int cou=;
while(a[cou]!='\0'&&b[cou]!='\0'){
if(a[cou]==b[cou]){
l++;
}
cou++;
}
if(l==lena){
printf("No\n");
bbb=;
break;
} l=;
cou=;
while(a[cou]!='\0'&&c[cou]!='\0'){
if(a[cou]==c[cou]){
l++;
}
cou++;
}
if(l==lenc){
printf("No\n");
bbb=;
break;
}
t1=;
}
if(j==){
int l=;
int cou=;
while(b[cou]!='\0'&&a[cou]!='\0'){
if(b[cou]==a[cou]){
l++;
}
cou++;
}
if(l==lenb){
printf("No\n");
bbb=;
break;
} l=;
cou=;
while(b[cou]!='\0'&&c[cou]!='\0'){
if(b[cou]==c[cou]){
l++;
}
cou++;
}
if(l==lenb){
printf("No\n");
bbb=;
break;
}
t2=;
}
if(j==){
int l=;
int cou=;
while(c[cou]!='\0'&&a[cou]!='\0'){
if(c[cou]==a[cou]){
l++;
}
cou++;
}
if(l==lenc){
printf("No\n");
bbb=;
break;
} l=;
cou=;
while(c[cou]!='\0'&&b[cou]!='\0'){
if(c[cou]==b[cou]){
l++;
}
cou++;
}
if(l==lenc){
printf("No\n");
bbb=;
break;
}
t3=;
} if(t1==&&t2==&&t3==){
t5=;
t1=;
t2=;
t3=;
}
}
if(bbb==){
bbb=;
continue;
} if(t4==||t5==){
printf("Yes\n");
t4=;
t5=;
continue;
}
}
return ;
}

FIX_前缀后缀_未提交的更多相关文章

  1. SVN本地代码未提交而被覆盖

    本地代码未提交而不小心被覆盖了,肿么办... 到回收站找到你的文件 xxx.mine,代码就可以找回来了.如果回收站没有了,那就没办法了. ---- 失而复得的感觉真好!

  2. SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因

    原本打算写有关 SSIS Package 中的事务控制过程的,但是发现很多基本的概念还是需要有 SQL Server 事务和事务的隔离级别做基础铺垫.所以花了点时间,把 SQL Server 数据库中 ...

  3. 检查点(Checkpoint)过程如何处理未提交的事务

    每次我讲解SQL Server之前,我都会先简单谈下当我们执行查询时,在SQL Server内部发生了什么.执行一个SELECT语句非常简单,但是执行DML语句更加复杂,因为SQL Server要修改 ...

  4. sql 查看 锁定的表 或者 未提交 的事务

    --查看锁定的 表select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sy ...

  5. .NET分布式事务未提交造成6107错误或系统被挂起的问题分析定位

    问题描述: 系统中多个功能不定期出现“Unable to get error message (6107) (0).”错误,即分布式事务超时,但报出错误的部分功能根本没有使用分布式事务. 原因分析: ...

  6. POJ 2752 (KMP 所有可能长度的前缀后缀) Seek the Name, Seek the Fame

    题意: 求一个字符串的相同前缀后缀的所有可能的长度,这里该字符串其本身也算自己的前缀和后缀. 分析: 我们知道next数组的性质是,该字符之前的字符串的最大相同前缀后缀. 既然知道了最大的,即next ...

  7. 使用git恢复未提交的误删数据

    不小心将项目中一个文件夹删除还未提交,或者已经提交, 此时想要恢复数据该怎么办? 答案是git reflog,使用git reflog命令可以帮助恢复git误操作,进行数据恢复. 操作过程: 打开终端 ...

  8. SQLServer之创建事务未提交读

    未提交读注意事项 使用 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 指定会话的锁定级别. 一次只能设置一个隔离级别选项,而且设置的选项将一直对那个 ...

  9. hdoj 2594 Simpsons’ Hidden Talents 【KMP】【求串的最长公共前缀后缀】

    Simpsons' Hidden Talents Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...

随机推荐

  1. 关于php cgi的配置

    http://blog.csdn.net/xiaolei1982/article/details/7103850 1,查看php-cgi的进程数 netstat -anpo | grep " ...

  2. 【最新】2015年7月之15个最新jQuery插件

    Hello,一个激动人心的好消息,现在我为大家整理最近7月发布的jQuery插件. 如果你熟悉任何下面列出的插件,请分享你的反馈与我们的读者,或如果你知道哪一个我们没有收录,那么请与我们分享在下面的评 ...

  3. 说说移动前端中 viewport (视口)

    转载网络资源的文章:来源不详~~ 移动前端中常说的 viewport (视口)就是浏览器显示页面内容的屏幕区域.其中涉及几个重要概念是 dip ( device-independent pixel 设 ...

  4. 2015年12月12 Node.js实战(一)使用Express+MongoDB搭建多人博客

    序,Node是基于V8引擎的服务器端脚本语言. 基础准备 Node.js: Express:本文用的是3.21.2版本,目前最新版本为4.13.3,Express4和Express3还是有较大区别,可 ...

  5. gitlab一键安装 (转)

    原文地址:http://www.2cto.com/os/201411/353292.html 0 简介bitnami和gitlab bitnami BitNami是一个开源项目,该项目产生的开源软件包 ...

  6. hdu.1044.Collect More Jewels(bfs + 状态压缩)

    Collect More Jewels Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  7. 推荐系统(协同过滤,slope one)

    1.推荐系统中的算法: 协同过滤: 基于用户 user-cf 基于内容 item –cf slop one 关联规则 (Apriori 算法,啤酒与尿布) 2.slope one 算法 slope o ...

  8. Mysql BLOB和TEXT类型

      BLOB是一个二进制大对象,可以容纳可变数量的数据.有4种BLOB类型:TINYBLOB.BLOB.MEDIUMBLOB和LONGBLOB.它们只是可容纳值的最大长度不同. A binary la ...

  9. iOS开发——UI基础-自定义构造方法,layoutSubviews,Xib文件,利用Xib自定义View

    一.自定义构造方法 有时候需要快速创建对象,可以自定义构造方法 + (instancetype)shopView { return [[self alloc] init]; } - (instance ...

  10. Unity手游之路<八>自动寻路Navmesh之入门

    http://blog.csdn.net/janeky/article/details/17457533 在的大部分mmo游戏都有了自动寻路功能.点击场景上的一个位置,角色就会自动寻路过去.中间可能会 ...