题目链接:http://codeforces.com/contest/1028/problem/B
题意是规定了一种函数s(x)的值为x的每个位上的数字之和,比如x=123,s(x)=1+2+3,输入两个数n和m,然后让你找两个数字a和b,有s(a) >= n, s(b) >= n, s(a+b) <= m,输出任意的符合条件的a和b的值。
看到题目中有一句话,长度不能超过2230(可不是大小超过2230),所以这题暴力肯定是过不了的,但是我们可以想一下,对于大于0的数来说,s(x)的最小值为1,所以我们就尽可能的让s(a+b)等于1,那么我们可以让a等于n个1,那么b就是n-1个8加一个9,这样s(a+b)算出来就是1了(当然让a等于n个5也行)。
AC代码:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,m;
int main()
{
cin>>n>>m;
for(int i=0;i<n;i++){
cout<<"1";
}
puts("");
for(int i=1;i<n;i++){
cout<<"8";
}
puts("9");
return 0;
}