UVA 11462 Age Sort(IO优化)
2016-09-30 13:24
495 查看
如果不确定程序瓶颈是IO的话,不要随意优化IO。
输入文件有25M,所以输入输出非常大,需要用速度较快的IO。
240MS。
IO还可以用字符优化。
70ms。
输入文件有25M,所以输入输出非常大,需要用速度较快的IO。
240MS。
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int c[100]; int main() { int n; while(scanf("%d",&n)&&n) { memset(c,0,sizeof(c)); int age; for(int i=0;i<n;i++) {scanf("%d",&age);c[age]++;} bool first=true; for(int i=1;i<=100;i++){ for(int j=0;j<c[i];j++){ if(!first) printf(" "); first=false; printf("%d",i); } } printf("\n"); } return 0; }
IO还可以用字符优化。
70ms。
// // main.cpp // Richard // // Created by 邵金杰 on 16/9/30. // Mail:1016427040@qq.com or jasonshaosjj@gmail.com // Copyright © 2016年 邵金杰. All rights reserved. // #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cctype> using namespace std; int c[101]; int readint() { char c=getchar(); while(!isdigit(c)) c=getchar(); int x=0; while(isdigit(c)){ x=x*10+c-'0'; c=getchar(); } return x; } void writeint(int x) { char buf[10]; int len=0; while(x){ buf[len++]=x%10+'0'; x/=10; } for(int i=len-1;i>=0;i--) printf("%c",buf[i]); } int main() { int n; while((n=readint())) { memset(c,0,sizeof(c)); for(int i=0;i<n;i++) c[readint()]++; bool first=true; for(int i=1;i<=100;i++){ for(int j=0;j<c[i];j++){ if(!first) putchar(' '); first=false; writeint(i); } } printf("\n"); } return 0; }
相关文章推荐
- UVA 11462 Age Sort(计数排序法 优化输入输出)
- UVA 11462 Age sort (基数排序+优化输入输出)
- uva_11462_Age Sort(sort)
- uva11462 Age Sort ——计数排序
- 【输入输出挂】【Uva11462】Age Sort
- UVA - 11462 Age Sort
- UVa 11462 - Age Sort
- Age Sort(UVa 11462)
- UVA 11462 Age Sort
- uva 11462 Age Sort
- UVA11462——排序——Age Sort
- UVa 11462 - Age Sort (桶排序)
- UVa 11462 Age Sort (计数排序&快速输入输出)
- Uva-------(11462) Age Sort(计数排序)
- UVA 11462 - Age Sort
- uva11462 - Age Sort(年龄排序)
- UVA 11462 Age Sort
- UVa 11462 年龄排序 (计数排序及IO优化)
- UVA - 11462 - Age Sort (高效算法!!)
- 【UVA 11462】 Age Sort(基数排序)