Thursday, January 31, 2013

Codeforces Round #157 (Div. 2): B - Little Elephant and Magic Square

// Codeforces Round #157 (Div. 2):    B - Little Elephant and Magic Square

import java.io.*;
import java.math.*;
import java.util.*;

//codeforces
public class MainCodeforces1 {
 private static MyScanner in;
 private static PrintStream out;

 public static void main(String[] args) throws IOException {
  // helpers for input/output
  boolean LOCAL_TEST = false;
  // LOCAL_TEST = true;// comment it before submitting
  out = System.out;
  if (LOCAL_TEST) {
   in = new MyScanner("E:\\zin2.txt");
  }
  else {
   boolean usingFileForIO = false;
   if (usingFileForIO) {
    // using input.txt and output.txt as I/O
    in = new MyScanner("input.txt");
    out = new PrintStream("output.txt");
   }
   else {
    in = new MyScanner();
    out = System.out;
   }
  }

  solve();
 }

 private static void solve() throws IOException
 {
  Integer[] x = new Integer[9];
  for (int i = 0; i < 9; i++) {
   x[i] = in.nextInt();
  }
  int sum2 = x[2] + x[6];
  for (int x0 = 1; x0 <= 100000; x0++)
  {
   x[0] = x0;
   x[8] = sum2 - x[0];
   int sum3 = x[0] + x[3] + x[6];
   if (x[6] + x[7] + x[8] == sum3)
   {
    x[4] = sum3 - x[0] - x[8];
    if (x[8] > 0 && x[4] > 0)
     break;
   }
  }
  int k = 0;
  out.println(x[k++] + " " + x[k++] + " " + x[k++]);
  out.println(x[k++] + " " + x[k++] + " " + x[k++]);
  out.println(x[k++] + " " + x[k++] + " " + x[k++]);
 }

 static class MyScanner {
  StreamTokenizer in;

  public MyScanner() throws IOException
  {
   Reader r = new BufferedReader(new InputStreamReader(System.in));
   in = new StreamTokenizer(r);
  }

  public MyScanner(String inputFile) throws IOException {
   Reader r;
   r = new BufferedReader(new FileReader(inputFile));
   in = new StreamTokenizer(r);
  }

  public int nextInt() throws IOException {
   in.nextToken();
   return (int) in.nval;
  }

  public long nextLong() throws IOException {
   in.nextToken();
   return (long) in.nval;
  }

  public double nextDouble() throws IOException {
   in.nextToken();
   return in.nval;
  }

  public String nextString() throws IOException {
   in.nextToken();
   if (in.ttype == StreamTokenizer.TT_WORD)
    return in.sval;
   else if (in.ttype == StreamTokenizer.TT_NUMBER)
    return String.valueOf(in.nval);
   else
    return null;
  }
 }

}

No comments:

Post a Comment