Advertisement
Alekss33

Untitled

Mar 3rd, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. import java.math.BigInteger;
  2. import java.util.Arrays;
  3. import java.util.*;
  4.  
  5. public class Main {
  6. public static void main(String[] args) {
  7. Scanner input = new Scanner(System.in);
  8. String[] inputData = input.nextLine().split(" ");
  9. int row = Integer.parseInt(inputData[0]);
  10. int col = Integer.parseInt(inputData[1]);
  11.  
  12. BigInteger matrix[][] = new BigInteger[row][col];
  13.  
  14. BigInteger startNumber = new BigInteger("1");
  15.  
  16. for (int r = 0; r < row; r++) {
  17. matrix[r][0] = startNumber;
  18. for (int c = 1; c < col; c++) {
  19. matrix[r][c] = ((matrix[r][c - 1]).multiply(new BigInteger("2")));
  20. }
  21. startNumber = startNumber.multiply(new BigInteger(("2")));
  22. }
  23.  
  24.  
  25. int currentRow = 1;
  26. int currentCol = 1;
  27. BigInteger sum = new BigInteger("1");
  28.  
  29. int hMovement = 1;
  30. int vMovemet = 1;
  31.  
  32. while (row!=1 &&col!=1) {
  33. boolean checkerRows= false;
  34. boolean checkerCols= false;
  35.  
  36. if (currentCol == 0 || currentCol == col - 1) {
  37. hMovement = hMovement * (-1);
  38. checkerCols=true;
  39. }
  40. if (currentRow == 0 || currentRow == row - 1) {
  41. vMovemet = vMovemet * (-1);
  42. checkerRows=true;
  43. }
  44. if (checkerCols == true && checkerRows == true){
  45. break;
  46. }
  47. BigInteger res = matrix[currentRow][currentCol];
  48. sum=sum.add(res) ;
  49. currentRow=currentRow+vMovemet;
  50. currentCol=currentCol+hMovement;
  51. }
  52. if (row!=1 &&col!=1){
  53. BigInteger res = matrix[currentRow][currentCol];
  54. sum=sum.add(res) ;
  55. }
  56.  
  57. System.out.println(sum);
  58. }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement