package com.thinker.test.test1;
import java.util.*;
/*
 *
 * @author lzh
 * 请编写一个算法，若N阶方阵中某个元素为0，则将其所在的行与列清零。
 */

public class Test_1_7{
	private static int[][] arr = new int[][]{
			{1,2,3,5,7,8,9},
			{3,0,6,8,9,6,8},
			{4,7,0,1,3,4,5},
			{3,4,6,3,2,0,6}
	};

	public static void go(){
		List<Integer> row = new LinkedList<Integer>();
		List<Integer> line = new LinkedList<Integer>();
		for(int i=0;i<arr.length;i++){
			for(int j=0;j<arr[i].length;j++){
				if(arr[i][j] == 0){
					line.add(i);row.add(j);
				}
			}
		}
		for(int i=0;i<row.size();i++){
			for(int x=0;x<arr[0].length;x++){
				arr[line.get(i)][x] = 0;
			}
			for(int y=0;y<arr.length;y++){
				arr[y][row.get(i)] = 0;
			}
		}
	}

	public static void print(){
		for(int y=0;y<arr.length;y++){
			for(int x=0;x<arr[y].length;x++){
				System.out.print(arr[y][x]+"\t");
			}
			System.out.println();
		}
	}
	public static void main(String[] args){
		go();
		print();
	}
}
