社区讨论

求助,我的代码1个AC7个RE,有没有大佬知道哪里错了

灌水区参与者 6已保存回复 9

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
9 条
当前快照
1 份
快照标识符
@lo8xyl13
此快照首次捕获于
2023/10/28 02:23
2 年前
此快照最后确认于
2023/10/28 02:23
2 年前
查看原帖
rt
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=16000010;
int m,n,t;
char str[N];
bool kk[N];
int vis[500];
int main(){
	cin>>t;
	for(int k=0;k<t;k++){
		scanf("%d%d%s",&m,&n,str);
    	memset(kk,0,sizeof kk);
    	memset(vis,0,sizeof vis);
        int num=0;
        int len=strlen(str);
        vis[0]=num;
        num++;
        for(int i=1;i<len;i++){
            if(vis[str[i]]==0)
                vis[str[i]]=num;
                num++;
        }
        int ans=0;
        for(int i=0;i<=len-m;i++){
            int sum=0;
            for(int j=0;j<m;j++){
                sum=sum*num+vis[str[i+j]];
            }
            if(!kk[sum]){
                kk[sum]=1;
                ans++;
            }
        }
        cout<<ans<<endl;
	}
    return 0;
}
本蒟蒻瑟瑟发抖

回复

9 条回复,欢迎继续交流。

正在加载回复...