OpenJudge 帶萬用字元的字串匹配

2021-08-27 16:29:24 字數 1210 閱讀 4849

萬用字元是一類鍵盤字元,當我們不知道真正字元或者不想鍵入完整名字時,常常使用萬用字元代替乙個或多個真正字元。萬用字元有問號(?)和星號(*)等,其中,「?」可以代替乙個字元,而「*」可以代替零個或多個字元。 

你的任務是,給出乙個帶有萬用字元的字串和乙個不帶萬用字元的字串,判斷他們是否能夠匹配。 

例如,1?456 可以匹配 12456、13456、1a456,但是卻不能夠匹配23456、1aa456; 

2*77?8可以匹配 24457798、237708、27798。

輸入有兩行,每行為乙個不超過20個字元的字串,第一行帶萬用字元,第二行不帶萬用字元

如果兩者可以匹配,就輸出「matched」,否則輸出「not matched」

1*456?

11111114567

matched
模擬字串匹配的過程,注意下面幾個測試樣例

123*45*6

1237894523454336

*?

123456

2*77?8

24457798

以下就是滿分的ac**: 

#include #include char str1[21];

char str2[21];

char temp[21];

char* mystrstr(char* s1,char* s2)

else if(s2[j]=='?')

else break;

}if(j==len2)

}return null;

}int main()

else

temp[p2]='\0';

char* p3=str2+j;

while(mystrstr(p3,temp))

j=(p3-str2);

i+=strlen(temp);}}

else if(str1[i]=='?')

else

else}}

while(i}

if(i==len1&&j==len2&&flag) printf("matched\n");

else printf("not matched\n");

return 0;

}

帶萬用字元的整數

package test time 2014 3 13 encode utf 8 question 給定乙個帶萬用字元問號的數w,問號可以代表任意乙個一位數字。再給定乙個整數x,和w具有同樣的長度。問有多少個整數符合w的形式並且比x大?public class algo 1 return r par...

帶萬用字元的數

給定乙個帶萬用字元問號的數w,問號可以代表任意乙個一位數字。再給定乙個整數x,和w具有同樣的長度。問有多少個整數符合w的形式並且比x大?輸入格式 多組資料,每組資料兩行,第一行是w,第二行是x,它們長度相同。在 1.10 之間.輸出格式 每行乙個整數表示結果。答題說明 輸入樣例 36?1?8 236...

android sqlite 查詢帶萬用字元的資料

sqlite中 代表任意多個字元 代表乙個字元 即下面搜尋的內容可能是aatest aaaatest等 select fromdb namewherecolumn like test 即下面搜尋的內容可能是atest btest等,但是長度固定位5個字元 select fromdb namewher...