1 solutions
-
0
题解
这道题挺简单的来着(认真做了上周的训练计划那道1728就应该可以的),但是怎么有人一直T啊(TAT),我不李姐。
思路
就是在输入的时候就把奇数偶数分开存好,最后输出的时候记得判断有没有空格就行。这是最简单的桶排了吧,而且范围也不大,当然手写快排和sort函数也能过,但是目前还是建议少用函数。
代码
#include<stdio.h> int a[1005]={0},b[1005]={0}; int main(){ int n; scanf("%d",&n); while(n--){ int num=0,sum=0,x; while(~scanf("%d",&x)&&x){//遇到0结束可以直接在输入的时候判断 sum++; if(x%2==0) a[x]++; else b[x]++; } for(int i=1000;i>0;i--){ while(a[i]){ num++; printf("%d",i); if(num!=sum) printf(" "); a[i]--; } } for(int i=1000;i>0;i--){ while(b[i]){ num++; printf("%d",i); if(num!=sum) printf(" "); b[i]--; } } printf("\n"); } return 0; }
Information
- ID
- 152
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 7
- Tags
- # Submissions
- 123
- Accepted
- 25
- Uploaded By