Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.math.BigInteger;
- import java.util.Arrays;
- import java.util.*;
- public class Main {
- public static void main(String[] args) {
- Scanner input = new Scanner(System.in);
- String[] inputData = input.nextLine().split(" ");
- int row = Integer.parseInt(inputData[0]);
- int col = Integer.parseInt(inputData[1]);
- BigInteger matrix[][] = new BigInteger[row][col];
- BigInteger startNumber = new BigInteger("1");
- for (int r = 0; r < row; r++) {
- matrix[r][0] = startNumber;
- for (int c = 1; c < col; c++) {
- matrix[r][c] = ((matrix[r][c - 1]).multiply(new BigInteger("2")));
- }
- startNumber = startNumber.multiply(new BigInteger(("2")));
- }
- int currentRow = 1;
- int currentCol = 1;
- BigInteger sum = new BigInteger("1");
- int hMovement = 1;
- int vMovemet = 1;
- while (row!=1 &&col!=1) {
- boolean checkerRows= false;
- boolean checkerCols= false;
- if (currentCol == 0 || currentCol == col - 1) {
- hMovement = hMovement * (-1);
- checkerCols=true;
- }
- if (currentRow == 0 || currentRow == row - 1) {
- vMovemet = vMovemet * (-1);
- checkerRows=true;
- }
- if (checkerCols == true && checkerRows == true){
- break;
- }
- BigInteger res = matrix[currentRow][currentCol];
- sum=sum.add(res) ;
- currentRow=currentRow+vMovemet;
- currentCol=currentCol+hMovement;
- }
- if (row!=1 &&col!=1){
- BigInteger res = matrix[currentRow][currentCol];
- sum=sum.add(res) ;
- }
- System.out.println(sum);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement