2351 - 神奇的二维码

题目描述

【具体要求】 二维码是现在日常生活中最常用到的一种编码,比如名片、传单、产品包装上都会用到二维码。

不知道同学们有没有发现一个有趣的现象,二维码是不规律的,但是我们不管从哪个角度去扫码,都能正确识别。主要是因为二维码有三个定位点,手机通过这三个点位置来确定二维码编码的区域和角度。

如下图所示:

现要求输入一个由 01 组成的正方形二维码矩阵(且左上角、右上角、左下角三个定位点必须为“ 1 ”),将二维码顺时针旋转 90 度后输出。

输入

输入共 n+1 行,第一行输入一个正整数 ( 4 \le n \le 32 ),表示该二维码矩阵大小为 n \times n ;

2 \sim n+1 行,每行 n 个由 01 组成,数字之间用空格隔开,代表二维码矩阵(且左上角、右上角、左下角三个定位点必须为“ 1 ”)。

输出

输出 n 行,每行 n 个正整数,输出矩阵为顺时针旋转 90 度后的矩阵二维码。

样例

输入

4 
1 0 0 1 
0 1 0 1 
1 1 0 0 
1 0 1 0 

输出

1 1 0 1
0 1 1 0 
1 0 0 0 
0 0 1 1 
说明

【评分标准】

本题共有五组测试数据,每通过一组测试数据得 10 分,满分 50 分。

蓝桥等考 C++组单选题样题(十一级) 
阅读以下程序片段,最终的输出结果是选项( )。
int a[4][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}}; 
cout << ((a[1][1] * a[3][0] + 3) % 4); 
A 0 
B 1 
C 2 
D 3 
【答案】D
【解析】四行二列的二维数组中,a[1][1] = 1,a[3][0] = 0,最终表达式为(1 * 0 + 3)% 4 = 3。
来源

蓝桥等考 C++组编程题样题(十一级)

标签
题目参数
时间限制 1 秒
内存限制 256 MB
提交次数 274
通过人数 211
金币数量 1 枚
难度 入门


上一题 下一题