• AtCoder Grand Contest 6


    A - Prefix and Suffix

    题意:输入一个整形变量n和两个字符串s,t,使用一些规则求满足条件的最短字符串的长度;规则如下:这个最短字符串的长度不能小于n;它的前n个字符必须与s相同;它的后n个字符必须与t相同

    分析:根据题意和样例可知,当s和t相等(长度、字符都相同)时,结果就是n;否则,将t与s逐个字符相比较,如果tj与si相等时,i加1,j加1,num(相等的数量);如果不相等,i加1.

    代码如下:

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 
     5 using namespace std;
     6 
     7 const int maxn = 105;
     8 char s[maxn], t[maxn];
     9 
    10 int main()
    11 {
    12     int n;
    13     int num;
    14     while(scanf("%d", &n)==1&&n)
    15     {
    16         scanf("%s", s);
    17         scanf("%s", t);
    18         if(strcmp(s,t) == 0)
    19             printf("%d
    ", n);
    20         else
    21         {
    22             int i, j;
    23             int len1 = strlen(s);
    24             int len2 = strlen(t);
    25             num = 0;
    26             for(i = 0, j = 0; i < len1&&j < len2; )
    27             {
    28                 if(s[i] == t[j])
    29                 {
    30                     num++;
    31                     i++;
    32                     j++;
    33                 }
    34                 else
    35                 {
    36                     i++;
    37                 }
    38             }
    39             printf("%d
    ", 2*n-num);
    40         }
    41     }
    42     return 0;
    43 }
  • 相关阅读:
    HDU 5120 计算两圆环相交面积
    HDU
    Dinic (邻接表实现) + 当前弧优化
    java —— static 关键字
    java —— this 关键字
    双连通分量 Road Construction POJ
    2-SAT(HDU-3062 party)
    java——构造器理解
    『题解』Codeforces1142A The Beatles
    『题解』Codeforces1142B Lynyrd Skynyrd
  • 原文地址:https://www.cnblogs.com/xl1164191281/p/6013482.html
Copyright © 2020-2023  润新知