• HDU 1238


    好吧,这题直接搜索就可以了,不过要按照长度最短的来搜,很容易想得到。

    记得ACM比赛上有这道题,呃。。不过,直接搜。。呵呵了,真不敢想。

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <string.h>
     4 #include <algorithm>
     5 using namespace std;
     6 
     7 char str[105][105];
     8 char s1[105],s2[105];
     9 
    10 int main(){
    11     int T;
    12     scanf("%d",&T);
    13     while(T--){
    14         int n; int min_p,minl=1000;
    15         scanf("%d",&n);
    16         for(int i=1;i<=n;i++){
    17             scanf("%s",str[i]);
    18             int tmp=strlen(str[i]);
    19             if(minl>tmp){
    20                 min_p=i; minl=tmp;
    21             }
    22         }
    23         for(int i=1;i<=minl;i++){
    24             bool flag=false;
    25             for(int k=0;k<=minl-i;k++){
    26                 int p;
    27                 for(p=0;p<i;p++){
    28                     s1[p]=str[min_p][k+p];
    29                     s2[i-p-1]=str[min_p][k+p];
    30                 }
    31                 s1[p]=s2[p]='';
    32             //    printf("%s
    %s
    ",s1,s2);
    33                 int j;
    34                 for(j= 1;j<=n;j++)
    35                 if(!strstr(str[j],s1)&&!strstr(str[j],s2))
    36                 break;
    37                 if(j>n){ 
    38                     flag=true;
    39                     break;
    40                 }
    41             }
    42             if(!flag){
    43              printf("%d
    ",i-1);
    44              break;
    45             }
    46         }
    47     }
    48     return 0;
    49 }
    View Code

    上面用到了一上strstr()的函数,这个是我从别处学来的,也写写,分析一下。

    函数名: strstr  原型是朴素的字符串比较方法
    功 能: 在字符串中查找指定字符串的第一次出现 
    用 法: char *strstr(char *str1, char *str2); 
    用法:#include <string.h> 
    功能:

    str1: 被查找目标

    str2:要查找对象
    该函数返回str2第一次在str1中的位置的指针,如果没有找到,返回NULL 


    函数:find(),属于类string中一个函数。

    包含在#include <string>中

    功能较多,最常用的便是 string s.find(str)返回的是字符串str第一次在s中出现的位置。否则会返回一个很大的值s.npos

    也可以使用s.find(str,5)表示从第5个位置开始查找,返回值和上面相同。

  • 相关阅读:
    HeidiSQL
    PostgreSQL
    MariaDB
    NLog
    0 vs null
    忘带手机的那么一天
    江城子·己亥年戊辰月丁丑日话凄凉
    单体 VS 微服务
    java面向对象(四)之重写、重载
    java面向对象(三)之抽象类,接口,向上转型
  • 原文地址:https://www.cnblogs.com/jie-dcai/p/3795271.html
Copyright © 2020-2023  润新知