问题 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. LAMP环境CentOS6.4 PHP5.4随笔未整理

    首先安装一些辅助的软件或者说是依赖的关系包. 1.安装libxml2: libxml是一个用来解析XML文档的函数库.它用C语言写成, 并且能为多种语言所调用,例如C语言,C++,XSH.C#, Py ...

  2. Java UDP 数据报

    服务端,创建一个DatagramSocket对象,侦听在某个端口,创建一个DatagramPacket对象接受数据.收到客户端发来的信息后,有原封不动转发到客户端. public class Data ...

  3. jquery submit()不执行

    好吧我承认我竟然犯低级错误了...我忏悔...为了提醒自己置顶一个礼拜 <form id="form" method="post"> <inp ...

  4. app的meta

    <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> < ...

  5. [译]git checkout

    git checkout git checkout提供3种不同的功能: checking out文件, checking out commits, checking out branch. check ...

  6. [译]A Beginner’s Guide to npm — the Node Package Manager

    原文: http://www.sitepoint.com/beginners-guide-node-package-manager/ Installing Node.js 验证你的安装是否成功. $ ...

  7. ASP.NET Web数据控件

    ASP.NET Web数据控件 1.数据控件简介 这包括数据源控件和格式设置控件,前者使您可以使用 Web 控件访问数据库中的数据,后者使您可以显示和操作ASP.NET 网页上的数据.  2.数据控件 ...

  8. mybatis 添加事物后 无法获取自增主键的问题

    检查代码后没发现mapper文件设置自增主键返回的问题,后来检查到,关闭事务后,执行完是可以获取返回的主键的, 我在mysql的客户端里关闭自动提交,发现使用select last_insert_id ...

  9. python 中文编码问题

    1.文件首#coding=utf-8 作用:为了把文件内容编码python所识别的utf-8,若不指定编码格式,则会出现以下错误: 2. 文件储存指定编码为utf-8 作用:将文件编码成utf-8.如 ...

  10. jQuery中$(function(){})与(function($){})(jQuery)的区别

    首先,这两个函数都是在页面载入后执行的函数,其中两者的区别在于: 在jQuery中$(function(){})等同于jQuery(function(){}),另一个写法为jQuery(documen ...