hdoj6708 2019 CCPC网络选拔赛 1007 Windows Of CCPC

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;

char maze[1025][1025];
void display(int x, int y, int d, int flag) {
	if (d == 0) {
		if (flag)	maze[x][y] = 'P';
		else        maze[x][y] = 'C';
		return;
	}

	int w = 1 << d - 1;
	display(x, y, d - 1, flag);
	display(x + w, y, d - 1, !flag);
	display(x, y + w, d - 1, flag);
	display(x + w, y + w, d - 1, flag);
}
int main() {
	ios_base::sync_with_stdio(false);
	int T;
	cin >> T;
	while (T--) {
		int n;
		cin >> n;
		display(0, 0, n, 0);
		for (int i = 0; i < 1 << n; i++) {
			for (int j = 0; j < 1 << n; j++) {
				cout << maze[i][j];
			}
			cout << endl;
		}
	}
	return 0;
}
原文地址:https://www.cnblogs.com/woxiaosade/p/11433694.html