比赛的时候一直wa。自己写的代码冗长的,借鉴了下别人的代码
/*
* this code is made by LinMeiChen
* Problem:
* Type of Problem:
* Thinking:
* Feeling:
*/
#include<iostream>
#include<algorithm>
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
#include<math.h>
#include<string>
#include<vector>
#include<queue>
#include<list>
using namespace std;
typedef long long lld;
typedef unsigned int ud;
#define oo 0x3f3f3f3f
#define maxn 105
#define maxm 909
int a[maxn];
bool ok(int m, int s){
return s >= 0 && s <= 9 * m;
}
void solve()
{
int m, s;
string ans="";
scanf("%d%d", &m, &s);
if (s == 0 && m > 1){ printf("-1 -1\n"); return; }
int sum = s;
for (int i = 0; i < m; i++)
for (int d = 0; d < 10; d++)
if ((i>0 || d>0 || (m == 1 && d == 0)) && ok(m - i - 1, sum - d))
{
ans += char('0' + d);
sum -= d;
break;
}
if (sum != 0){ printf("-1 -1\n"); return; }
cout << ans << " ";
ans = "";
sum = s;
for (int i = 0; i < m; i++)
for (int d = 9; d >=0; d--)
if (ok(m - i - 1, sum - d))
{
ans += char('0' + d);
sum -= d;
break;
}
cout << ans << endl;
}
int main()
{
solve();
return 0;
}