模擬 B 字串修改

2022-06-12 22:18:09 字數 740 閱讀 2270

有兩個字串\(s,t\),其中\(s\)只包含小寫字母以及 *,\(t\)只包含小寫字母。

你可以進行任意多次操作,每次選擇\(s\)中的乙個 *,將它修改為任意多個(可以是0個)它的前乙個字元。

請求出是否能將\(s\)修改為\(t\)。(\(t\leq 100,len\leq 3*10^4\))

考慮記錄\(t\)中連續的字母以及長度,考慮用\(s\)匹配,

\(s\)也是可以用一段連續的字母或星號匹配,如果當前匹配的字母不同

或者是\(s\)中的字母個數超過\(t\)中的字母個數(不能刪除)

又或者是不存在星號且兩段長度不相同均為無解,均不滿足以上條件才有解

#include #include #define rr register

using namespace std;

const int n = 30011;

char s1[n], s2[n];

int t, tot, len1, len2, j, a[n], b[n];

signed main()

for (rr int l = 1, r = 1; l <= len1; l = ++r)

if (s1[l] != '*')

if (j <= tot)

printf("no\n");

else

printf("yes\n");

}return 0;

}

字串模擬

現在有一些被簡單壓縮的字串,例如 a 120 代表120個a。對於字串acb 3 d 5 e相對於acbbbddddde 現在給你兩個字串cstring,nstring.乙個是被壓縮過的字串,另乙個沒有被壓縮。求nstring是否為cstring的子串,如果是輸出true,否則輸出false.cst...

字串 模擬

description submit statistics discussion 2.0 seconds 256 megabytes 易位構詞 anagram 指將乙個單詞中的字母重新排列,原單詞中的每個字母都出現有且僅有一次。例如 unce 可以被易位構詞成 ecnu 在某些情況下,要求重排而成的...

修改字串

將給定字串中連續出現3次的小寫字母替換為改小寫字母在字母表中的下乙個字母 z變為a 大寫字母和其他字元不處理,仍然保留。要求最終輸出的字串中不再存在任何連續出現3次的小寫字母。例如字串 atrcccert893 45ae 經過處理後應該為 atrdert893 45ae int changestri...