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').
Sample Input and Output
SNo. Input Output
1
2
bba
scca
Yes
No
Explanation:
In case 1, viz. 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.
1
Expert's answer
2015-08-04T02:33:38-0400
Solve #include <stdio.h> int main() { char str[400]; //for input line int res[100]={0}; //result of check int T; printf("Input number of string: "); scanf("%d",&T); int j; for(j=0;j<T;j++) { printf("Input string # %d: ",j+1); scanf("%s",str); int i=0; //calculate number of symbols: int numbers[26]={0}; while(str[i]!='\0') { if((str[i]>='a')&&(str[i]<='z')) numbers[str[i]-'a']++; else { printf("Bad string #%d!\n",j+1); break; } i++; } //check numbers and number in super ascii: int isAscii=1; for(i=0;i<26;i++) if((numbers[i]>0)&& (numbers[i]!=(i+1))) { isAscii=0; break; } if(isAscii==1) res[j]=1; } for(j=0;j<T;j++) if(res[j]==0) printf("No\n"); else printf("Yes\n"); return 0; }
Dear Preethma, You are so welcome! Every day the content is growing,
but we try our best to provide answers faster and in a timely manner.
Thank you for the feedback!
preetham
04.08.15, 16:42
First of all Thank you so much for posting the answer.This site is
having such a beautiful policy of answering to critical programming
problems.really liked it. It will be awesome if the responses are made
much more faster
Leave a comment
Thank you! Your comments have been successfully added. However, they need to be checked by the moderator before being published.
Comments
Dear Preethma, You are so welcome! Every day the content is growing, but we try our best to provide answers faster and in a timely manner. Thank you for the feedback!
First of all Thank you so much for posting the answer.This site is having such a beautiful policy of answering to critical programming problems.really liked it. It will be awesome if the responses are made much more faster
Leave a comment