代码严重超时,有没有什么好的建议啊
查看原帖
代码严重超时,有没有什么好的建议啊
1464923
Yangjingyu666楼主2024/10/18 21:36

#include <stdio.h>

#include <string.h>

int main() {

char a[300];
scanf("%s",&a);
int len=strlen(a);
int b=0;
int g=0;
int i=0;
while(i<len){
	if(a[i]=='b'){
    	if(a[i+1]=='o'){
    		if(a[i+2]=='y'){
    			b++;
    			i+=3;
			}
			else{
				b++;
				i+=2;
			}
		}
		else{
			b++;
			i++;
		}
    }
    else if(a[i]=='o'){
    		if(a[i+1]=='y'){
    			b++;
    			i+=2;
			}
			else{
				b++;
				i++;
			}
    }
    else if(a[i]=='y'){
    			b++;
    			i++;
			}
	else if(a[i]=='g'){
    	if(a[i+1]=='i'){
    		if(a[i+2]=='r'){
    			if(a[i+3]=='l'){
    				g++;
    				i+=4;
				}
				else{
    				g++;
    				i+=3;
    			}	
			}
			else{
				g++;
				i+=2;
			}
		}
		else{
			g++;
			i++;
		}
    }
	else if(a[i]=='i'){
    	if(a[i+1]=='r'){
    		if(a[i+2]=='l'){
    			g++;
    			i+=3;
			}
			else{
				g++;
				i+=2;
			}
		}
		else{
			g++;
			i++;
		}
    }
	else if(a[i]=='r'){
    		if(a[i+1]=='l'){
    			g++;
    			i+=2;
			}
			else{
				g++;
				i++;
			}
    }	
	else if(a[i]=='l'){
    			g++;
    			i++;
			}	
}
printf("%d\n",b);
printf("%d\n",g);
return 0;

}

2024/10/18 21:36
加载中...