欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[CCF] 201604-2 俄罗斯方块 Apare_xzc

程序员文章站 2024-03-17 18:06:28
...

[CCF] 201604-2 俄罗斯方块


改了一下我家LH的代码,瞬间AC

题目:

[CCF] 201604-2	俄罗斯方块 Apare_xzc
[CCF] 201604-2	俄罗斯方块 Apare_xzc

思路:一直往下落,直到碰到障碍停止

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

int maze[16][10];
int a[4][4];
int node[4][2];
int main(){
	for(int i=0;i<15;i++){
		for(int j=0;j<10;j++){
			cin >> maze[i][j];
		}
	}
	
	for(int i=0,k=0;i<4;i++){
		for(int j=0;j<4;j++){
			cin >> a[i][j];
			if(a[i][j]){
				node[k][0] = i;
				node[k++][1] = j;
			}
		}
	}
	int n;
	cin >> n;
	int row = 0;
	for(int j=0;j<10;++j) maze[15][j]=1;
	while(row<16){
		for(int i=0;i<4;i++){
			if(maze[row+node[i][0]][n+node[i][1]-1]){
				goto A;
			}	
		}
		row++;
	}
	A:row=row-1;
	for(int i=0;i<4;i++){
		maze[row+node[i][0]][n+node[i][1]-1]=1;
	}
	
	 for(int i=0; i<15; i++) {
        for(int j=0; j<10; j++) {
            cout << maze[i][j] << " ";
        }
        cout << endl;
	}
	return 0;
}