编程题
### 问题描述
在一个名为“光影迷宫”的游戏中,玩家可可需要通过访问不同的房间来收集能量球。每个房间都可以通过旋转迷宫的方式来改变布局,分别是顺时针旋转 $90^\circ$、$180^\circ$ 和 $270^\circ$。迷宫的每个房间要么是空的,用 $0$ 表示;要么有能量球,用 $1$ 表示。在游戏的最后阶段,为了解开迷宫的最终密码,可可需要构建一个新迷宫,其中的每个房间都必须满足如下条件:如果原始迷宫或其任意旋转后的迷宫中对应的房间有能量球(至少一个房间是 $1$),那么在新迷宫中该房间也有能量球(标记为 $1$ );如果四种情况都没有能量球(都是 $0$ ),则该房间为空(标记为 $0$ )。请帮助可可构建这个新迷宫。
### 输入格式
第一行包含一个整数 $N$,表示迷宫的大小。
接下来的 $N$ 行,每行包含 $N$ 个由空格分隔的数字,数字为 $0$ 或 $1$,代表原始迷宫的房间布局。
### 输出格式
输出共 $N$ 行,每行 $N$ 个数字,数字之间用空格分隔,表示构建出的新迷宫。
### 样例输入
```
4
0 0 0 0
0 0 0 0
0 0 1 0
1 0 0 0
```
### 样例输出
```
1 0 0 1
0 1 1 0
0 1 1 0
1 0 0 1
```
### 评测数据规模
$1 \leq N \leq 100$