Time Limit: 1000MS

 

Memory Limit: 65535KB

 

64bit IO Format: %lld & %llu

UESTC - 1251


谕神的密码



Submit Status



UESTC - 1251 谕神的密码 (模拟) 水_#define

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
#define INF 0x3f3f3f3f
#define ll long long
#define N 10010
#define M 1000000007
using namespace std;
int a[110];
int b[110];
int main()
{
	int t,n,m;
	int i,j,k;
	scanf("%d",&t);
	while(t--)
	{
		memset(a,0,sizeof(a));
		memset(b,0,sizeof(b));
		scanf("%d%d",&n,&m);
		if((n*9<m)||(n>1&&m==0))
		{
			printf("-1 -1\n");
			continue;
		}
		if(m==0)
		{
			printf("0 0\n");
			continue;
		}
		k=0;
		while(m>9)
		{
			a[k++]=9;
			m-=9;
		}
		a[k++]=m;
		if(k<n)
		{
			for(i=k;i<n;i++)
				a[i]=0;
		}
//		for(i=0;i<n;i++)
//			printf("%d",a[i]);
//		printf("\n");
		int kk;
		for(i=n-1;i>=0;i--)
		{
			if(a[i])
			{
				kk=i;
				break;
			}
		}
		if(kk==n-1)
		{
			int l=0;
			for(i=n-1;i>=0;i--)
				b[l++]=a[i];
		}
		else
		{
			int l=0;
			b[l++]=1;
			for(i=n-2;i>=0;i--)
			{
				if(i==kk)
					b[l++]=a[i]-1;
				else
					b[l++]=a[i];
			}
		}
		for(i=0;i<n;i++)
			printf("%d",b[i]);
		printf(" ");
		for(i=0;i<n;i++)
			printf("%d",a[i]);
		printf("\n");
	}
	return 0;
}