UVA - 10785 The Mad Numerologist
2016-07-10 22:36
621 查看
题目大意:每个字母有一个权值,给定一个长度,构造名字。要求权值最小,奇数位原音,偶数位辅音,且按字母序输出。每个原音最多用 5 次,辅音 21 次。
解题思路:按权值顺序存到数组,排序后组合输出。
解题思路:按权值顺序存到数组,排序后组合输出。
#include<iostream> #include<cstdio> #include<string.h> #include<stdlib.h> #include<cmath> using namespace std; char y[]="AUEOI"; char f[]="JSBKTCLDMVNWFXGPYHQZR"; char str1[500],str2[500]; int count = 0; int cmp(const void*a,const void*b) { return *(char*)a - *(char*)b; } int main() { int T; scanf("%d", &T); while(T--) { int n; scanf("%d", &n); for (int i = 0; i < n-n/2 ; i++) str1[i] = y[i/21]; for (int i = 0; i < n/2; i++) str2[i] = f[i/5]; qsort(str1, n-n/2, sizeof(str1[0]), cmp); qsort(str2, n/2, sizeof(str2[0]), cmp); printf("Case %d: ",++count); int t = 0, k = 0; for(int i = 0; i < n; i++) if (i % 2 == 0) printf("%c", str1[t++]); else printf("%c", str2[k++]); printf("\n"); } return 0; }
相关文章推荐
- 1.10055 - Hashmat the brave warrior
- 2.10071 - Back to High School Physics
- 3.458 - The Decoder
- 4.694 - The Collatz Sequence
- 6.494 - Kindergarten Counting Game
- 7.490 - Rotating Sentences
- 8.414 - Machined Surfaces
- 9.488 - Triangle Wave
- A.457 - Linear Cellular Automata
- B.489 - Hangman Judge
- C.445 - Marvelous Mazes
- 1.10494 - If We Were a Child Again
- 2.424 - Integer Inquiry
- 3.10250 - The Other Two Trees
- 5.465 - Overflow
- 6.113 - Power of Cryptography
- 7.10161 - Ant on a Chessboard
- 8.621 - Secret Research
- 9.401 - Palindromes
- A.537 - Artificial Intelligence?