Help me in solving CFMM problem

My issue

My code

#include <stdio.h>
#include <limits.h>
int main() 
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
	    int n;
	    scanf("%d",&n);
	    int a[113]={0};
	    for(int i=0;i<n;i++)
	    {
	        char s[100000];
	        scanf("%s",s);
	        for(int j=0;s[j]!='\0';j++)
	        {
	            if(s[j]=='c')
	               a[s[j]]+=1;
	            else if(s[j]=='o')
	               a[s[j]]+=1;
	            else if(s[j]=='d')
	               a[s[j]]+=1;
	            else if(s[j]=='e')
	               a[s[j]]+=1;
	            else if(s[j]=='h')
	               a[s[j]]+=1;
	            else if(s[j]=='f')
	               a[s[j]]+=1;
	        }
	    }
	    int min=INT_MAX;
	    for(int i=97;i<113;i++)
	    {
	        if(a[i]!=0)
	        {
	            if((i!=99 && i!=101) && a[i]<min){
	                min=a[i];
	            }
	            else if(i==99 || i==101)
	            {
	                if((a[i]/2)<min)
	                   min=(int)a[i]/2;
	            }
	        }
	    }
	    printf("%d\n",min);
	      
	}
	return 0;
}

Problem Link: CFMM Problem - CodeChef

@tejasree_3
your code is failing for
1
3
odehef
hdohd
bdwbod
the answer would be 0 your code is giving 1

include <stdio.h>

include <limits.h>

int main()
{
int t;
scanf(“%d”,&t);
while(t–)
{
int n;
scanf(“%d”,&n);
int a[123]={0};
for(int i=0;i<n;i++)
{
char s[100000];
scanf(“%s”,s);
for(int j=0;s[j]!=‘\0’;j++)
{
if(s[j]==‘c’)
a[s[j]]+=1;
else if(s[j]==‘o’)
a[s[j]]+=1;
else if(s[j]==‘d’)
a[s[j]]+=1;
else if(s[j]==‘e’)
a[s[j]]+=1;
else if(s[j]==‘h’)
a[s[j]]+=1;
else if(s[j]==‘f’)
a[s[j]]+=1;
}
}
int min=INT_MAX;
for(int i=97;i<123;i++)
{
if(a[i]!=0 && (i!=99 && i!=101) && a[i]<min)
{
min=a[i];
}
else if(i==99 || i==101)
{
if((a[i]/2)<min){
min=(int)a[i]/2;
}
}
}
printf(“%d\n”,min);

}
return 0;

}

Even though it is not accepting

@tejasree_3
U have to check for all the characters of codechef should be present at least once, if they did then u go to check your condition ,or else answer would be 0.

1 Like