Cod sursa(job #1699792)

Utilizator dalavricDaniel Lavric dalavric Data 8 mai 2016 16:14:25
Problema Jocul Flip Scor 0
Compilator java Status done
Runda Arhiva de probleme Marime 2 kb
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.PrintWriter;

public class Main2 {
	
	static int[][] matrix = new int[17][17];
	public static void flipColumn(int j , int n)
	{
		for(int i = 0 ; i < n ; i++)
		{
			matrix[i][j] = 0 - matrix[i][j];
		}
	}
	
	public static void flipLine(int i,int m)
	{
		for(int j = 0 ; j < m ;j++)
		{
			matrix[i][j] = 0 - matrix[i][j];
		}
	}
	public static void main(String[] args)
	{
		try {
			BufferedReader br = new BufferedReader(new FileReader("flip.in"));
			PrintWriter pr = new PrintWriter("flip.out");
			
			String line;
			line = br.readLine();
			String[] splitedLine = line.split(" ");
			int n = Integer.parseInt(splitedLine[0]);
			int m = Integer.parseInt(splitedLine[1]);
			for(int i = 0 ; i < n ;i++)
			{
				line = br.readLine();
				int positiveSum = 0 ;
				int negativeSum = 0 ;
				splitedLine = line.split(" ");
				for(int j = 0 ; j < m ; j++)
				{
					
					if(i==2)
					{
						System.out.println("AM ajuns aici");
					}
					matrix[i][j] = Integer.parseInt(splitedLine[j]);
					if(matrix[i][j] < 0)
					{
						negativeSum += matrix[i][j];
					}
					else
					{
						positiveSum += matrix[i][j];
					}	
				}
				if(Math.abs(negativeSum) > positiveSum)
				{
					flipLine(i,m);
				}
			}
			
			for(int j = 0 ; j < m ;j++)
			{
				int positiveSum = 0 ;
				int negativeSum = 0 ;
				for(int i = 0 ; i < n; i++)
				{
					if(matrix[i][j] < 0)
					{
						negativeSum += matrix[i][j];
					}
					else
					{
						positiveSum += matrix[i][j];
					}
				}
				if(Math.abs(negativeSum) > positiveSum)
				{
					flipColumn(j,n);
				}
			}
			int sum = 0 ;
			for(int i = 0 ; i < n ; i++)
			{
				for(int j = 0 ; j < m ; j++)
				{
					sum += matrix[i][j];
				}
			}
			
			pr.print(sum);
			pr.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}