PTA 7-29 删除字符串中的子串

作者: smatrcHendsa | 来源:发表于2019-03-17 10:04 被阅读0次

https://pintia.cn/problem-sets/14/problems/809
so ugly...

#include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <string.h>
using namespace std;


int main() {
    char a[100], b[99];
    int fl[100];
    for (int i = 0; i < 100; i++) {
        fl[i] = 1;
    }
    
    int cnt = 0; 
    while (1) {
        char c;
        scanf("%c", &c);
        if (c == '\n') {
            a[cnt] = '\0';
            break;
        }
        a[cnt++] = c;
    }
     cnt = 0; 
    while (1) {
        char c;
        scanf("%c", &c);
        if (c == '\n') {
            b[cnt] = '\0';
            break;
        }
        b[cnt++] = c;
    }
    
    //printf("%d ", strlen(b));
    
    bool flag = true;
    while (flag) {
        flag = false;
        for (int i = 0; i < strlen(a); i++) {
            int k = i;
            
            int j = 0;
            
            while (j < strlen(b)) {
                if (!fl[k + j]) {
                    k++;
                    continue;
                }
                if (a[k + j] == b[j])
                    j++;
                else
                    break;
            }
            
            if (j == strlen(b)) {
                flag = true;
                j = 0;
                k = i;
                while (j < strlen(b)) {
                    if (!fl[k + j]) {
                        k++;
                        continue;
                    }
                    if (a[k + j] == b[j]) {
                        fl[k + j] = 0;
                        j++;
                    }
                    else
                        break;
                }
            }
        }
    }
    
    for (int i = 0; i < strlen(a); i++) {
        if (fl[i])
            printf("%c", a[i]);
    }
    printf("\n");
    return 0;
}

相关文章

  • PTA 7-29 删除字符串中的子串

    https://pintia.cn/problem-sets/14/problems/809so ugly...

  • 42_KMP算法的应用

    关键词:字符串类中的新功能、子串查找indexOf、在字符串中将指定的子串删除remove、 字符串的减法操作(重...

  • LintCode 不同的子序列

    给出字符串S和字符串T,计算S的不同的子序列中T出现的个数。 子序列字符串是原始字符串通过删除一些(或零个)产生的...

  • 不同的子序列

    给出字符串S和字符串T,计算S的不同的子序列中T出现的个数。 子序列字符串是原始字符串通过删除一些(或零个)产生的...

  • LintCode-不同的子序列-动态规划

    描述 给出字符串S和字符串T,计算S的不同的子序列中T出现的个数。 子序列字符串是原始字符串通过删除一些(或零个)...

  • C++ 容器

    string 容器 字符串查找和替换 字符串比较 字符串存取 字符串插入删除 子串 简而言之就是字符串截取 vec...

  • iOS开发之Swift篇(3)—— 字符串String

    目录 版本 创建 可变字符串 字符Character 拼接 索引/插入/删除 截取 (子字符串) 插值 字符串比较...

  • C语言编程 C Language Programming - 0

    编程题0005 (from Programming Teaching Assistant (PTA)) 字符串循环...

  • LeetCode-392-判断子序列

    判断子序列 题目描述:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除...

  • 动态规划 - 子序列问题

    [TOC] 判断字符串s中有多少个子序列和t相等 一个字符串的子序列是将字符串中若干字符删除后形成的字符串。 令d...

网友评论

    本文标题:PTA 7-29 删除字符串中的子串

    本文链接:https://www.haomeiwen.com/subject/ssvymqtx.html