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();
    
    	}
    
    }
    
    
  • 相关阅读:
    福大软工1816 · 第六次作业
    福大软工1816 · 第五次作业
    BETA 版冲刺前准备
    Alpha 事后诸葛亮(团队)
    Alpha 答辩总结
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
  • 原文地址:https://www.cnblogs.com/yu-jiawei/p/12356089.html
Copyright © 2011-2022 走看看