您的位置:首页 > 其它

Given Length and Sum of Digits...---------cf水题

2014-11-18 20:25 295 查看
Given Length and Sum of Digits...

time limit per test
1 second

memory limit per test
256 megabytes

input
standard input

output
standard output

You have a positive integer m and a non-negative integer s.
Your task is to find the smallest and the largest of the numbers that have length m and sum of digits s.
The required numbers should be non-negative integers written in the decimal base without leading zeroes.

Input

The single line of the input contains a pair of integers m, s (1 ≤ m ≤ 100, 0 ≤ s ≤ 900)
— the length and the sum of the digits of the required numbers.

Output

In the output print the pair of the required non-negative integer numbers — first the minimum possible number, then — the maximum possible number. If no numbers satisfying conditions required exist, print the pair of numbers "-1
-1" (without the quotes).

Sample test(s)

input
2 15


output
69 96


input
3 0


output
-1 -1


水题,写的时候时间不够了

给一个数,要n位相加得到,

注意1 0

我是先算最大的,存到数组里,

倒过来,第一位+1,最后能数的-1

#include<iostream>
using namespace std;
int aa[3009],n,num=0;
int bb[10000], cc[10000];
void select_sort(int* a, int n)
{
int i, j, min, t;
for (i = 0; i<n - 1; i++)
{
min = i;//查找最小值
for (j = i + 1; j<n; j++)
if (a[min]>a[j])
min = j;//交换
if (min != i)
{
bb[num] = min;
cc[num]=i;
t = a[min];
a[min] = a[i];
a[i] = t;
num++;
}
}
}
int main()
{
//freopen("in.txt", "r", stdin);
while (cin >> n)
{
num = 0;
for (int i = 0; i < n; i++)
{
cin >> aa[i];
}
select_sort(aa, n);
cout << num << endl;
for (int i = 0; i < num; i++)
{
cout << bb[i] << " "<<cc[i]<<endl;
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: