CCF 201512-2 消除类游戏

非常简单!

用两个数组,一个记录数据,另一个记录哪些位置的数据是有三个及以上相连的。

#include<iostream>
using namespace std;
int list[35][35];
int rec[35][35];
int main(){
    int n,m;
    cin >> n >> m;
    for(int i = 0 ;  i< n ; i++){
        for(int j = 0 ;  j < m ; j++){
            cin >> list[i][j];
        }
    }
    
    for(int i = 0 ; i < n ; i++){
        for(int j = 0 ; j < m-2 ; j++){
            if(list[i][j] == list[i][j+1] && list[i][j+1] == list[i][j+2]){
                rec[i][j]++;
                rec[i][j+1]++;
                rec[i][j+2]++;
            }
        }
    }
    
    
    for(int j = 0 ; j < m ; j++){
        for(int i = 0 ; i < n-2 ; i++){
            if(list[i][j] == list[i+1][j] && list[i+1][j] == list[i+2][j]){
                rec[i][j]++;
                rec[i+1][j]++;
                rec[i+2][j]++;
            }
        }
    }
    
    for(int i = 0 ; i < n ; i++){
        for(int j = 0 ; j < m ; j++){
            if(rec[i][j] != 0){
                cout << 0 << ' ';
            }
            else{
                cout << list[i][j] << ' ';
            }
        }
        cout << endl;
    }
    
}

 

posted @ 2022-03-23 20:07  夏莱发电厂的Sensei  阅读(28)  评论(0)    收藏  举报