[2016-03-19][UVA][11462][Age Sort]

Posted 红洋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[2016-03-19][UVA][11462][Age Sort]相关的知识,希望对你有一定的参考价值。

  • 时间:2016-03-19 20:22:57 星期六

  • 题目编号:[2016-03-19][UVA][11462][Age Sort]

  • 题目大意:给定n个数字,输出排序后的数据,

  • 分析:n<=2*1E6,多组数据,所以不能直接读取然后排序,这里的数据内容范围是1~100,则可以通过计数的方式来统计,或者自己编写读取和输出的函数来优化

    方法2
  1. #include <cstdio>
  2. #include <cstring>
  3. using namespace std;
  4. typedef long long LL;
  5. #define CLR(x,y) memset((x),(y),sizeof((x)))
  6. #define FOR(x,y,z) for(int (x)=(y);(x)<(z);++(x))
  7. int cntAge[101];
  8. int main(){
  9. int n;
  10. while(~scanf("%d",&n) && n){
  11. CLR(cntAge,0);
  12. int a;
  13. FOR(i,0,n){
  14. scanf("%d",&a);
  15. ++cntAge[a];
  16. }
  17. int flg = 0;
  18. FOR(i,0,101){
  19. FOR(j,0,cntAge[i]){
  20. if(flg) printf(" ");
  21. printf("%d",i);
  22. flg = 1;
  23. }
  24. }
  25. puts("");
  26. }
  27. return 0;
  28. }

  1. #include <cstdio>
  2. #include <cstring>
  3. #include <cctype>
  4. using namespace std;
  5. typedef long long LL;
  6. #define CLR(x,y) memset((x),(y),sizeof((x)))
  7. #define FOR(x,y,z) for(int (x)=(y);(x)<(z);++(x))
  8. #define FORD(x,y,z) for(int (x)=(y);(x)>=(z);--(x))
  9. int cntAge[101];
  10. inline int readInt(){
  11. char ch;
  12. do{
  13. ch = getchar();
  14. }while(!isdigit(ch));
  15. int num = 0;
  16. while(isdigit(ch)){
  17. num = num * 10 + ch - ‘0‘;
  18. ch = getchar();
  19. }
  20. return num;
  21. }
  22. int str[20];
  23. inline void writeInt(int a){
  24. int cur = 0;
  25. while (a){
  26. str[cur++] = a % 10;
  27. a /= 10;
  28. }
  29. FORD(i,cur - 1,0){
  30. putchar(‘0‘ + str[i]);
  31. }
  32. }
  33. int main(){
  34. int n;
  35. while(n = readInt()){
  36. CLR(cntAge,0);
  37. FOR(i,0,n){
  38. ++cntAge[readInt()];
  39. }
  40. int flg = 0;
  41. FOR(i,0,101){
  42. FOR(j,0,cntAge[i]){
  43. if(flg) printf(" ");
  44. writeInt(i);
  45. flg = 1;
  46. }
  47. }
  48. puts("");
  49. }
  50. return 0;
  51. }




以上是关于[2016-03-19][UVA][11462][Age Sort]的主要内容,如果未能解决你的问题,请参考以下文章

UVA 11462-Age sort

UVA-11462 Age Sort

COGS 1406. 邻居年龄排序[Age Sort,UVa 11462]

[2016-03-19][UVA][11549][Calculator Conundrum]

[2016-03-19][UVA][11520][Fill the Square]

[2016-03-19][UVA][11078][Open Credit System]