0
#include <stdio.h>
#include<string.h>
int find(char a[],int p,int q,char t){
int l=strlen(a);
int k,m,n;
if(p==q){
if(a[0]==t)return 1;
else return 0;}
if(p<q){
int mid=p+q/2;
m=find(a,p,mid,t);
n=find(a,mid+1,q,t);
if(m>n)return m;
else
return n;
}
if(p>q)return 0;
}
int main()
{
int test,j,k,i,l,s=0;
char a[200],tc='a';
scanf("%d",test);
while(test--){
s=0;
tc='a';
scanf("%d",&a);
l=strlen(a);
if(l<26){
printf("NO\n");
continue;
}
for(i=1;i<=26;i++){
j=find(a,0,l,tc);
if(j==1)s++;
tc++;
}
if(s==26)printf("YES");
else printf("NO\n");
}
return 0;
}
問題是:一個字符串被認爲是完整的,如果它包含從a到z的所有字符。給定一個字符串,檢查它是否完整。我嘗試了分而治之的技術。爲什麼我得到一個運行時錯誤?爲什麼我得到運行時錯誤?