zoukankan      html  css  js  c++  java
  • 201512-2 消除类游戏 Java

    思路:
    用二维数组,对于每一个棋子,向右看三个,向下看三个,如果相等则置为负数,最后遍历输出。

    import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		int n,m;
    		n=sc.nextInt();
    		m=sc.nextInt();
    		int[][] a=new int[n][m];
    		for(int i=0;i<n;i++)
    			for(int j=0;j<m;j++)
    				a[i][j]=sc.nextInt();
    		//行标记
    		for(int i=0;i<n;i++)
    			for(int j=0;j<m-2;j++)
    				if(Math.abs(a[i][j])==Math.abs(a[i][j+1])&&Math.abs(a[i][j+1])==Math.abs(a[i][j+2])) {
    					if(a[i][j]>0)   a[i][j]*=-1;//相当于一个标记,所以在上面判断的时候才用绝对值
    					if(a[i][j+1]>0) a[i][j+1]*=-1;
    					if(a[i][j+2]>0) a[i][j+2]*=-1;
    				}
    		//列标记
    		for(int j=0;j<m;j++)
    			for(int i=0;i<n-2;i++)
    				if(Math.abs(a[i][j])==Math.abs(a[i+1][j])&&Math.abs(a[i+1][j])==Math.abs(a[i+2][j])) {
    					if(a[i][j]>0)   a[i][j]*=-1;
    					if(a[i+1][j]>0) a[i+1][j]*=-1;
    					if(a[i+2][j]>0) a[i+2][j]*=-1;
    				}
    		//输出
    		for(int i=0;i<n;i++) {
    			for(int j=0;j<m;j++) {
    				if(j!=0)
    					System.out.print(" ");
    				if(a[i][j]<0)
    					System.out.print(0);
    				else
    					System.out.print(a[i][j]);
    			}
    			System.out.println();
    		}
    		sc.close();
    
    	}
    
    }
    
    
  • 相关阅读:
    docker 删除本地镜像
    hadoop 伪分布环境部署
    docker多镜像+nginx+django环境部署
    docker+django 运行环境部署
    设计数据结构-LRU缓存算法
    设计数据结构-Unionfind并查集算法
    String#intern理解
    java常见API和集合
    链表总结
    二叉树的基础总结
  • 原文地址:https://www.cnblogs.com/yu-jiawei/p/12356089.html
Copyright © 2011-2022 走看看