Start: Jun, 05, 2019 17:00:00
2019春ACM通识课考试(第三场)
End: Jun, 05, 2019 20:15:00
Time elapsed:
Time remaining:

Problem_ID: E
Result: Accepted
Time: 941ms
Memory: 12808kB
Author: 2018212212001
In contest: 1272

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn=1e6+10;
struct SS{
	char s[7];
	int x;
}a[maxn];
bool cmp(const SS &a,const SS &b){
	if(a.x!=b.x)return a.x<b.x;
	if(strcmp(a.s,b.s)<0)return 1;
	return 0;
}
int main(){
	for(int i=0;i<6;i++)
		a[0].s[i]='0';
	for(int i=1;i<10;i++){
		for(int j=0;j<5;j++)
			a[i].s[j]='0';
		a[i].s[5]=(i+'0');
	}
	for(int i=10;i<100;i++){
		for(int j=0;j<4;j++)
			a[i].s[j]='0';
		int temp=i;
		for(int j=5;j>=4;j--){
			a[i].s[j]=((temp%10)+'0');
			temp/=10;
		}	
	}
	for(int i=100;i<1000;i++){
		for(int j=0;j<3;j++)
			a[i].s[j]='0';
		int temp=i;
		for(int j=5;j>=3;j--){
			a[i].s[j]=((temp%10)+'0');
			temp/=10;
		}	
	}
	for(int i=1000;i<10000;i++){
		for(int j=0;j<2;j++)
			a[i].s[j]='0';
		int temp=i;
		for(int j=5;j>=2;j--){
			a[i].s[j]=((temp%10)+'0');
			temp/=10;
		}	
	}

	for(int i=10000;i<100000;i++){
		for(int j=0;j<1;j++)
			a[i].s[j]='0';
		int temp=i;
		for(int j=5;j>=1;j--){
			a[i].s[j]=((temp%10)+'0');
			temp/=10;
		}	
	}

	for(int i=100000;i<1000000;i++){
		int temp=i;
		for(int j=5;j>=0;j--){
			a[i].s[j]=((temp%10)+'0');
			temp/=10;
		}	
	}
	for(int i=0;i<1000000;i++){
		for(int j=0;j<6;j++)
			a[i].x+=a[i].s[j]-'0';
	}
	sort(a,a+1000000,cmp);
	for(int i=0;i<1000000;i++)
		printf("%s\n",a[i].s);
}