【字符串】刷题
创始人
2025-05-30 04:20:41

P4173残缺的字符串

心得:

这道题,我觉得是不难的,代码逻辑很清晰,但是提交就是有问题

最后发现两个问题:

  1. scanf输入字符后要用getchar() 吞回车 !!!!(天坑

用 scanf 输入时,不管输入什么,最后“敲”的回车都会被留在缓冲区,这里也不例外。输入字符串时最后“敲”的回车也会被留在缓冲区,如果紧接着要给一个字符变量赋值的话,那么还没等你输入系统就自动退出来了。因为系统自动将回车产生的字符 '\n' 赋给该字符变量了,所以此时对字符变量赋值前要首先清空缓冲区。

2.在位置1处忘了continue,导致已经确定一次相等之后l=2

(今天洛谷崩了没办法评测,但我相信应该是能AC的,埋个坑。

竟然g了,果然菜鸟就是菜鸟

#include
using namespace std;
const int N=3e5+10;
int m,n;
char a[N];
char b[N];
int arr[N];
int cnt;
int main()
{scanf("%d %d",&m,&n);getchar();for(int i=1;i<=m;i++){scanf("%c",&a[i]);}getchar();//加了getchar()运行结果都不一样,可见getchar的重要性 for(int i=1;i<=n;i++){scanf("%c",&b[i]);}int l=1;for(int i=1;i<=n;i++)//遍历b的每一个位置 {if(b[i]==a[l]||b[i]=='*'||a[l]=='*'){if(l==m)//完成了一次 {arr[i+1-l]=1;cnt++;l=1;//完成后l要复原 continue; //1}l++;}else{l=1;}}printf("%d\n",cnt);if(cnt>0)for(int i=0;i

点开题解都是我不会的东西(copy一下大佬的说法,埋个坑

字符串匹配有三种方式:

  1. 哈希

  1. KMP/Z

  1. FFT

相关内容

热门资讯

常识!“小程序十三张辅助挂 ”... 您好.小程序十三张这款游戏是可以开挂的,确实是有挂的,很多玩家在这款游戏中怀疑是不是有挂,实际上这款...
分享实测“新蜜瓜大厅透视辅助器... 您好:新蜜瓜大厅这款游戏可以开挂,确实是有挂的,需要软件加微信【6355786】,很多玩家在新蜜瓜大...
{必备攻略}“潘潘讲故事为什么... 您好:潘潘讲故事这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
{今日重大消息}:麻友圈2挪来... 您好:麻友圈2挪来挪去这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在...
{今日重磅消息}“麻友圈2开挂... 您好:麻友圈2这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9158489】或【6534-98...