0
点赞
收藏
分享

微信扫一扫

俄罗斯方块

七公子706 2022-02-13 阅读 44
c++ccf
#include<bits/stdc++.h>

using namespace std;

int a[20][20];

int b[10][10];

int main() {
	int m;
	for (int i = 1; i <= 15; i++) {
		for (int j = 1; j <= 10; j++) {
			scanf("%d", &a[i][j]);
		}
	}
	int pos = 1;
	for (int i = 1; i <= 4; i++) {
		for (int j = 1; j <= 4; j++) {
			scanf("%d", &b[i][j]);
			if (b[i][j]) {
				pos = i;
			}
		}
	}
	scanf("%d", &m);
	for (int i = 0; i <= 16; i++) {
		for (int j = 0; j <= 11; j++) {
			if (i == 0 || i == 16 || j == 0 || j == 11) {
				a[i][j] = 1;
			}
		}
	}
	int rowa, rowb;
	int flag = 0;
	for (int i = 1; i <= 16; i++) {
		for (int k = 4; k >= 1; k--) {
			for (int j = m; j < m + 4; j++) {
				if (a[i][j] && b[k][j-m+1]) {
					rowa = i;
					rowb = k;
					flag = 1;
					break;
				}
			}
			if (flag) break;
		}
		if (flag) break;
	}
	int ib = 0, jb;
	for (int i = rowa - rowb; i <= rowa + 4 - rowb; i++) {
		ib++;
		jb = 0;
		for (int j = m; j < m + 4; j++) {
			jb++;
			if (b[ib][jb]) {
				a[i][j] = b[ib][jb];
			}
		}
	}
	for (int i = 1; i <= 15; i++) {
		for (int j = 1; j <= 10; j++) {
			printf("%d ", a[i][j]);
		}
		printf("\n");
	}
	return 0;
}
举报

相关推荐

0 条评论