t2712:字符串移位包含问题

简介: t2712:字符串移位包含问题   总时间限制:1000ms  内存限制:65536kB描述    给定两个字符串s1和s2,要求判定其中一个字符串    是否是另一字符串通过循环移位后的子字符串。例如    CDAA是由AABCD两次移位后BCDAA的子串,而ABCD    与ACBD不能通过移位来得到其中一个字符串是另一个字    符串循环移位的子串。

t2712:字符串移位包含问题
   总时间限制:1000ms  内存限制:65536kB
描述
    给定两个字符串s1和s2,要求判定其中一个字符串
    是否是另一字符串通过循环移位后的子字符串。例如
    CDAA是由AABCD两次移位后BCDAA的子串,而ABCD
    与ACBD不能通过移位来得到其中一个字符串是另一个字
    符串循环移位的子串。
输入
    第一行有一个整数n,表示这组测试数据共有n行。
    其后n行,每行由两个字符串组成。
输出
    如果一个字符串是另一字符串通过循环移位的子串,
    则返回true,否则返回false。
样例输入
    2
    AABCD CDAA
    ABCD ACBD
样例输出
    true
    false

分析:据网上流传资料,假如两个串a和b满足:b是a循环移位后的一个子串,则b是串a&a的子串。当然,在这之前要满足LenA>=LenB,否则不科学不合理。

 1 #include <stdio.h>
 2 #include<string.h>
 3 int main(int argc, char *argv[]) {
 4     int n,i;
 5     char a[10000],b[10000],t[20000];
 6     char *p;
 7     
 8     scanf("%d",&n);
 9     //printf("%d\n",n);
10     getchar();
11     for(i=0;i<n;i++)
12     {
13         scanf("%s%s",a,b);
14         getchar();
15         //printf("%s %s\n",a,b);
16         if(strlen(a)>=strlen(b))
17         {
18             t[0]='\0';
19             strcpy(t,a);
20             strcat(t,a);
21             p=NULL;
22             p=strstr(t,b);
23             if(p!=NULL) printf("true\n");
24             else printf("false\n");
25         }
26         else
27         {
28             t[0]='\0';
29             strcpy(t,b);
30             strcat(t,b);
31             p=NULL;
32             p=strstr(t,a);
33             if(p!=NULL) printf("true\n");
34             else printf("false\n");
35         }/**/
36     }
37     return 0;
38 }

 

相关文章
|
存储 算法
【堆】数据结构堆的实现(万字详解)
【堆】数据结构堆的实现(万字详解)
643 0
|
Linux
Linux中Too many open files 问题分析和解决
Linux中Too many open files 问题分析和解决
324 0
|
2月前
|
JSON 缓存 供应链
API 接口驱动 1688 采购自动化:从商品获取到下单支付的全流程贯通
在B2B电商采购中,1688开放平台通过API实现商品筛选、比价、下单、支付及物流跟踪的全流程自动化,大幅提升采购效率,降低人工成本与错误率。企业可无缝对接ERP系统,实现数据驱动决策,显著优化采购周期、成本与风险管控,助力数字化转型。
|
自然语言处理 算法
文本分析-使用jieba库实现TF-IDF算法提取关键词
文本分析-使用jieba库实现TF-IDF算法提取关键词
797 1
|
缓存 监控 算法
|
负载均衡 网络协议 安全
【计算机网络】虚拟路由冗余(VRRP)协议原理与配置
【计算机网络】虚拟路由冗余(VRRP)协议原理与配置
555 0
|
网络协议 Linux iOS开发
《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(2)-Wireshark在Windows系统上安装部署
【2月更文挑战第2天】《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(2)-Wireshark在Windows系统上安装部署
337 4
|
Java Unix API
Quarkus项目配置方式详解
Quarkus 可以从多个地方获取项目的配置,它读取配置优先级入下图,在下面的优先级中,一旦读取到某个配置,就不会再继续读取后面配置中的这个配置了。
1062 0