`import java.util.*;
/
消除类游戏
https://www.acwing.com/problem/content/3226/
/
public class Main {
public static void main(String[] args){
Scanner cin=new Scanner(System.in);
int m=cin.nextInt();
int n=cin.nextInt();
int[][] arr=new int[m][n];
for(int i=0;i<m;i){
for(int j=0;j<n;j){
arr[i][j]=cin.nextInt();
}
}
int[][] res=new int[m][n];//将原数组复制到一个新的数组中
for(int i=0;i<m;i++){
for(int j=0;j<n;j++)
res[i][j]=arr[i][j];
}
//遍历找到可以清除的棋子
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
//检查行,查看相同数字最多有几个
int left=j,right=j;
while(left>=0 && arr[i][left]==arr[i][j]) left--;
while(right<n && arr[i][right]==arr[i][j]) right++;
if(right-left-1>=3){res[i][j]=0;continue;}
//检查列,查看相同数字最多有几个
int down=i,up=i;
while(up>=0 && arr[up][j]==arr[i][j]) up--;
while(down<m && arr[down][j]==arr[i][j]) down++;
if(down-up-1>=3) res[i][j]=0;
}
}
//输出结果
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
System.out.print(res[i][j]+" ");
}
System.out.println();
}
}
}`