列表

详情


NC223139. A+B

描述

 往往是大家在各通过的第一道题目,刚刚学会写程序的嘟嘟也不例外。然而,单纯的读入两个数字并输出它们的总和,对于聪明伶俐又可爱的牛牛来说实在是太简单了。富有挑战精神的她忍不住想:「假如只有三个数字视为字符串拼接起来后的结果,我有办法还原出当初的数字并满足吗?」

举例来说,如果 ,那么可以还原出 

注意有前导零的数字和空是不能作为数字的,如 ,则不能被还原成 
嘟嘟想找出  组有  种还原方式的输入字符串 ,但是她却心有余而力不足,身为她的朋友,你,便自告奋勇的来帮她找出  组有  种还原方式的输入!

输入描述

输入只有一行,给出两个以空格分隔的正整数,代表嘟嘟想找出  组有  种还原方式的输入字符串。

输出描述

请输出  行,每行一个字符串 ,代表  有  种还原的方法。  必须满足以下条件:

 由数字  组成
,即任两个输出字符串都不相等 必须恰有  种还原的方法

如果有超过  个满足条件的 ,按照任意顺序输出任意的  个即可

示例1

输入:

2 1

输出:

11111122

示例2

输入:

0 1

输出:

1023

示例3

输入:

1 2

输出:

123
101

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 14ms, 内存消耗: 608K, 提交时间: 2021-07-11 10:32:46

#include<iostream>
using namespace std;
int main()
{
	int n,k;
	scanf("%d%d",&k,&n);
	if(k==0) for(int z=1;z<=n;z++) printf("%d\n",z+1000);
	else if(k==1) for(int z=1;z<=n;z++) printf("%d%d%d\n",z,z,z*2);
	else
	{
		printf("1111111122\n");
		for(int z=1;z<n;z++) printf("111%d%d\n",z,111+z);
	}
	return 0;
}

上一题