ByteLand String
In the Byteland country a string "S" is said to super ascii string if and only if count of each character in the string is equal to its ascii value. In the Byteland country ascii code of 'a' is 1, 'b' is 2 ...'z' is 26.Your task is to find out whether the given string is a super ascii string or not.
Input Format:
First line contains number of test cases T, followed by T lines, each containing a string "S".
Output Format:
For each test case print "Yes" if the String "S" is super ascii, else print "No"
Constraints:
1<=T<=100
1<=|S|<=400, S will contains only lower case alphabets ('a'-'z').
Note: All text in bold which is corresponds to input and rest output.
Sample Input and Output :
2
bba
Yes
scca
No
Explanation:
In case 1. String "bba" -
The count of character 'b' is 2. Ascii value of 'b' is also 2.
The count of character 'a' is 1. Ascii value of 'a' is also 1.
Hence string "bba" is super ascii.
SOLUTION :
#include<stdio.h>
#include<string.h>
int main()
{
int a[26],i,k,n,c=0,j;
char s[50];
printf("enter the number of test cases\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<26;j++)
{
a[j]=0;
}
printf("enter the string\n");
scanf("%s",&s);
for(j=0;j<strlen(s);j++)
{
k=(int)s[j]-97;
a[k]++;
}
for(j=0;j<26;j++)
{
if(a[j]==j+1||a[j]==0)
c=1;
else
{
c=0;
break;
}
}
if(c!=0)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
ReplyDeletethank u for sharing this post Meraki Firewall
Meraki Cloud