狗万登陆 >狗万登陆 >【休息时间】安排好卡【无凌】答案和解释 >

【休息时间】安排好卡【无凌】答案和解释

2019-09-15 07:03:18 来源:环球网
A+ A-

【休息时间】安排好卡【语言】

问题是在标题的主题上写一个简单的程序。

我们来看看下面的问题及其答案。

问题

你有89张牌,从11到99。 给出宽度和高度整数的问题。 卡片从左上方依次排列在由此宽度和高度制成的正方形上。

同时,按照垂直顺序和高度满时将卡排列在下一行。 如果你的卡用完了,请改为使用“ - ”。

从标准输入获得的数字是由“,”分隔的两个数字。 第一个是宽度,第二个是高度。

输出到标准输出时,将每行的“数字”和“ - ”分隔为“,”。 列由换行符分隔。

(参考: )

以下是一个示例条目。

11,9

下面是一个示例输出。

11,20,29,38,47,56,65,74,83,92, -
12,21,30,39,48,57,66,75,84,93, -
13,22,31,40,49,58,67,76,85,94, -
14,23,32,32,41,50,59,68,77,86,95, -
15,24,33,42,51,60,69,78,87,96, -
16,25,34,43,52,61,70,79,88,97, -
17,26,35,44,53,62,71,80,89,98, -
18,27,36,45,54,63,72,81,90,99, -
19,28,37,46,55,64,73,82,91, - , -

答案

首先,让x为水平位置,y为垂直位置,h为高度。

X
0 1 2 3 4 ...
...... ......
h = 9 y y0│
┃1│
┃2 |
┃3│
│4|
┃::

此时,每个质量由“y + x * h + 11”计算如下。

从左上角找到“y + x * h”的顺序,并在卡片上添加第一个数字的“11”,它将是放在该正方形上的卡号。

X
0
1
2
3
4
...
...... ......
h = 9 y y 0 | 0 + 0 * 9 + 11 0 + 1 * 9 + 11 0 + 2 * 9 + 11 0 + 3 * 9 + 11 0 + 4 * 9 + 11
┃1| 1 + 0 * 9 + 11 1 + 1 * 9 + 11 1 + 2 * 9 + 11 1 + 3 * 9 + 11 1 + 4 * 9 + 11
┃2| 2 + 0 * 9 + 11 2 + 1 * 9 + 11 2 + 2 * 2 + 9 + 1 2 + 3 * 9 + 11 2 + 4 * 9 + 11
┃3| 3 + 0 * 9 + 11 3 + 1 * 9 + 11 3 + 2 * 9 + 11 3 + 3 * 9 + 11 3 + 4 * 9 + 11
│4| 4 + 0 * 9 + 11 4 + 1 * 9 + 11 4 + 2 * 9 + 11 4 + 4 * 9 + 11 4 + 4 * 9 + 11
┃::


X
0
1
2
3
4
...
...... ......
h = 9 y y0.11
20
29
38
47
┃1│12
21
三十
39
48
2 2 13
22
31
40
49
┃3│14
23
32
41
50
┃4│15
24
33
42
51
┃::

另外,如果由“y + x * h + 11”计算为100或更多,则根据规则填写“ - ”。

下面是一个示例代码。 它适用于可以在尝试的

// https://codeiq.jp/tools/sandbox/
// Node.js

process.stdin.resume();
process.stdin.setEncoding('utf8');
process.stdin.on('data',function(chunk){
var lines = chunk.toString()。split('n');
var arr = lines [0] .split(',');
var w = arr [0] * 1;
var h = arr [1] * 1;
var min = 11;
var max = 99;
var arr1 = [];
for(var y = 0; y <h; y ++){
var arr2 = [];
for(var x = 0; x <w; x ++){
var n = y + x * h + min;
var s = n

责任编辑:淳于秽鲷 CN037