Uva 10785 - The Mad Numerologist
2013-03-24 11:54
323 查看
字符串按要求的字典序
2Y
通过num来记录每个单词的输出次数
通过f来判别是否是元音
这个名字有一个固定的长度N
先保证元音字母的价值和辅音字母的价值要最小,再保证名字要在字典序里面最小
第一个字符表示为1,元音字母在奇数位置,辅音在偶数位置
同一辅音最多出现5次,元音21次
第一行为数据数目N ( 0 < N <=250 )
以下N行包括一个数n( 0 < n < 211 ),表示你要输出的名字长度
2Y
通过num来记录每个单词的输出次数
通过f来判别是否是元音
#include<stdio.h> int f(char s){ if(s=='A')return 0; if(s=='E')return 0; if(s=='I')return 0; if(s=='O')return 0; if(s=='U')return 0; return 1; } int main(){ int k,z; scanf("%d",&z); for(k=1;k<=z;k++){ int n,i,j; int l,r; scanf("%d",&n); r=n/2; l=(n+1)/2; //l是元音个数,r是辅音个数 char yuan[]="AUEOI"; int num[26],pyu=0; for(i=0;i<26;i++)num[i]=0; for(i=0;i<l;i++){ num[yuan[pyu]-'A']++; if(num[yuan[pyu]-'A']==21)pyu++; } char fu[]="JSBKTCLDMVNWFXGPYHQZR"; int pfu=0; for(i=1;i<=r;i++){ num[fu[pfu]-'A']++; if(num[fu[pfu]-'A']==5)pfu++; } printf("Case %d: ",k); for(i=1;i<=n;i++){ int aim; if(i%2==1)aim=0; else aim=1; for(j=0;j<26;j++){ if(aim==f('A'+j)){ if(num[j]){ printf("%c",'A'+j); num[j]--; break; } } } }printf("\n"); } return 0; }题目:
这个名字有一个固定的长度N
先保证元音字母的价值和辅音字母的价值要最小,再保证名字要在字典序里面最小
第一个字符表示为1,元音字母在奇数位置,辅音在偶数位置
同一辅音最多出现5次,元音21次
第一行为数据数目N ( 0 < N <=250 )
以下N行包括一个数n( 0 < n < 211 ),表示你要输出的名字长度
相关文章推荐
- UVa 10785 - The Mad Numerologist
- UVa 10785 The Mad Numerologist (排序)
- UVA 10785 The Mad Numerologist
- UVA - 10785 The Mad Numerologist
- UVA 10785 - The Mad Numerologist
- uva 10785 The Mad Numerologist(遍历+sort排序)
- The Mad Numerologist UVA-10785 第五章
- uva 10785 The Mad Numerologist(字符串)
- uva 10785 The Mad Numerologist
- uva 10785 The Mad Numerologist
- UVA 10785 - The Mad Numerologist
- UVa10785 The Mad Numerologist
- UVA 10785 The Mad Numerologist
- uva 10785 - The Mad Numerologist
- UVA - 10785 The Mad Numerologist
- UVA 10785 - The Mad Numerologist
- UVa_10785 - The Mad Numerologist
- UVA 10785 - The Mad Numerologist
- UVa:10785 - The Mad Numerologist
- UVA-10785 The Mad Numerologist