1 条题解

  • 1
    @ 2023-11-25 18:10:35
    #include <stdio.h>
    #include <stdbool.h>
    
    int prime[100000];
    bool isprime[100000];
    int cnt=0;
    
    void oula();
    
    int main(){
    	int n;
    	scanf("%d",&n);
    	char a[n];
    	scanf("%s",a);
    	int cnt1=0;
    	for(int i=0;i<n-3;i++){
    		if(a[i]=='s'&&a[i+1]=='g'&&a[i+2]=='l'&&a[i+3]=='y'){
    			cnt1++;
    		}
    	}
    	oula();
    	int p=0;
    	for(int i=1;i<=cnt;i++){
    		if(cnt1==prime[i]){
    			p=1;
    		}
    	}
    	if(p==0){
    		printf("angry");
    	}
    	else{
    		printf("happy");
    	}
    	return 0;
    }
    void oula(){
    	isprime[0]=isprime[1]=1;
    	for(int i=2;i<=100000;i++){
    		if(isprime[i]==0){
    			prime[++cnt]=i;
    		}
    		for(int j=1;j<=cnt&&i*prime[j]<=100000;j++){
    			isprime[i*prime[j]]=1;
    			if(i%prime[j]==0){
    				break;
    			}
    		}
    	}
    }
    
    • 1

    信息

    ID
    690
    时间
    1000ms
    内存
    254MiB
    难度
    10
    标签
    (无)
    递交数
    172
    已通过
    5
    上传者