学习皎月半撒花博主的代码写的,代码基本一样,为什么我的只能通过一组数据?
  • 板块学术版
  • 楼主Zwbrother
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/2/29 22:44
  • 上次更新2024/3/1 14:06:31
查看原帖
学习皎月半撒花博主的代码写的,代码基本一样,为什么我的只能通过一组数据?
1260401
Zwbrother楼主2024/2/29 22:44
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long u11;
u11 p=10000019;
u11 mod=100000007;
int  prime=233317;
u11 num[10010];
char s[10010];
u11 hash(char s[]){
    u11 id=0;
    int len=strlen(s);
	for(int i=0;i<len;i++){
		id = (id*p+(u11)s[i])%mod+prime;
	}
	return id;
}

int main(){
	int N,k=1;
	scanf("%d",&N);
	for(int i=0;i<N;i++){
		gets(s);
		num[i]=hash(s);
	}
	sort(num+1,num+N+1);
	for(int i=0;i<N;i++){
		if(num[i]!=num[i+1]) k++;
	}
	
	printf("%d",k);
	return 0;
}
2024/2/29 22:44
加载中...