万卷网 > 题目详情
题型:编程题

机器人拼图

给定一块由 n × m 个格子组成的矩形拼图板,本题要求你根据给定的机械手移动指令集,将拼图中的碎片逐一放到指定位置。

机械手每次抓取一块碎片,都会在拼图板的左上角位置等待指令。一个指令集是由 0-4 这五个数字组成的字符串,每个数字代表的意义如下:

- 1:向右移动一格;

- 2:向下移动一格;

- 3:向左移动一格;

- 4:向上移动一格;

- 0:将碎片放置在当前位置,并结束这次任务。

如果指令要求机械手移动到拼图板边界外,机械手会无视这个指令。如果接收到指令 0 时,当前位置上已经有一块碎片放好了,机械手会扔掉手里的碎片,结束这次任务。

时间限制:5000

内存限制:65536

输入

输入第一行给出 2 个正整数 n 和 m(1 ≤ n,m ≤ 100),随后一共有 n × m 行,第 i 行给出编号为 i(i=1,... n×m)的碎片对应的指令集,每条指令集一定以唯一的 0 结尾。(总的指令操作步数不超超过107)

输出

输出 n 行,每行 m 个整数,为放置在对应位置上的碎片编号。如果该位置上没有碎片,则输出 0。一行中的数字间以 1 个空格分隔,行首位不得有多余空格。


样例输入

2 3
1120
21140
34120
0
110
21111340

样例输出

4 6 2


更新时间:2024-11-23 14:12:27 |
【知识点】 电子学会C/C++二级

相似题推荐

单选题

执行以下C++代码,输入`65`后,输出结果是?( ) 

int grade; 
cin >> grade;
 if(grade >= 90) 
     cout << "优秀"; 
else if(grade >= 70) 
    cout << "良好"; 
else if(grade >= 60) 
    cout << "及格"; 
else 
    cout << "不及格";
A.

优秀

B.

良好

C.

及格

D.

不及格

2026-07-10
判断题

C++中,数组的长度可以在定义后随时修改。( )

A.正确 B.错误
2026-07-10
单选题

以下C++数组定义中,正确的是?( )

A.

整数 arr[4] = {1,2,3,4,5};

B.

整数 arr[] = {5,4,3,2,1};

C.

int n=-5;内通 arr[n];

D.

整数 arr[5] = ;

2026-07-10
编程题

查找特定值

2026-07-10
判断题

C++中,将double类型赋值给int类型变量时,会自动进行类型转换,不会丢失数据。( )

A.正确 B.错误
2026-07-10
公众号
客服 反馈
顶部