top of page
Search

Hourglass Matrix Problem

  • Ben
  • Feb 13, 2018
  • 3 min read

#include <set> #include <map> #include <list> #include <cmath> #include <ctime> #include <deque> #include <queue> #include <stack> #include <string> #include <bitset> #include <cstdio> #include <limits> #include <vector> #include <climits> #include <cstring> #include <cstdlib> #include <fstream> #include <numeric> #include <sstream> #include <iostream> #include <algorithm> using namespace std;

int main() { // Input array int arr[6][6]; // Sum array int sum[4][4] = {0}; // Temporary Variables to store the original values int x,y; // Maximum sum stored int max; // Input array for(int arr_i = 0;arr_i < 6;arr_i++) { for(int arr_j = 0;arr_j < 6;arr_j++) { cin >> arr[arr_i][arr_j]; } } //Matrix 1 sum x = arr[1][0]; y = arr[1][2]; for( int i=0; i<3; i++) { for( int j=0; j<3; j++) { arr[1][0]=0; arr[1][2] = 0; sum[0][0] += arr[i][j]; } } //Matrix 2 sum arr[1][0] =x; arr[1][2] = y; x = arr[1][1]; y = arr[1][3];

for( int i=0; i<3; i++) { for( int j=1; j<4; j++) { arr[1][1] = 0; arr[1][3] = 0; sum[0][1] += arr[i][j]; } } //Matrix 3 sum arr[1][1] =x; arr[1][3] = y; x = arr[1][2]; y = arr[1][4]; for( int i=0; i<3; i++) { for( int j=2; j<5; j++) { arr[1][2] = 0; arr[1][4] = 0; sum[0][2] += arr[i][j]; } } //Matrix 4 sum arr[1][2] =x; arr[1][4] = y; x = arr[1][3]; y = arr[1][5];

for( int i=0; i<3; i++) { for( int j=3; j<6; j++) { arr[1][3] = 0; arr[1][5] = 0; sum[0][3] += arr[i][j]; } } //Matrix 5 sum arr[1][3] =x; arr[1][5] = y; x = arr[2][0]; y = arr[2][2]; for( int i=1; i<4; i++) { for( int j=0; j<3; j++) { arr[2][0] = 0; arr[2][2] = 0; sum[1][0] += arr[i][j]; } } //Matrix 6 sum arr[2][0] =x; arr[2][2] = y; x = arr[2][1]; y = arr[2][3];

for( int i=1; i<4; i++) { for( int j=1; j<4; j++) { arr[2][1] = 0; arr[2][3] = 0; sum[1][1] += arr[i][j]; } } //Matrix 7 sum arr[2][1] =x; arr[2][3] = y; x = arr[2][2]; y = arr[2][4]; for( int i=1; i<4; i++) { for( int j=2; j<5; j++) { arr[2][2] = 0; arr[2][4] = 0; sum[1][2] += arr[i][j]; } } //Matrix 8 sum arr[2][2] =x; arr[2][4] = y; x = arr[2][3]; y = arr[2][5]; for( int i=1; i<4; i++) { for( int j=3; j<6; j++) { arr[2][3] = 0; arr[2][5] = 0; sum[1][3] += arr[i][j]; } } //Matrix 9 sum arr[2][3] =x; arr[2][5] = y; x = arr[3][0]; y = arr[3][2]; for( int i=2; i<5; i++) { for( int j=0; j<3; j++) { arr[3][0] = 0; arr[3][2] = 0; sum[2][0] += arr[i][j]; } } //Matrix 10 sum arr[3][0] =x; arr[3][2] = y; x = arr[3][1]; y = arr[3][3]; for( int i=2; i<5; i++) { for( int j=1; j<4; j++) { arr[3][1] = 0; arr[3][3] = 0; sum[2][1] += arr[i][j]; } } //Matrix 11 sum arr[3][1] =x; arr[3][3] = y; x = arr[3][2]; y = arr[3][4]; for( int i=2; i<5; i++) { for( int j=2; j<5; j++) { arr[3][2] = 0; arr[3][4] = 0; sum[2][2] += arr[i][j]; } } //Matrix 12 sum arr[3][2] =x; arr[3][4] = y; x = arr[3][3]; y = arr[3][5]; for( int i=2; i<5; i++) { for( int j=3; j<6; j++) { arr[3][3] = 0; arr[3][5] = 0; sum[2][3] += arr[i][j]; } } //Matrix 13 sum arr[3][3] =x; arr[3][5] = y; x = arr[4][0]; y = arr[4][2]; for( int i=3; i<6; i++) { for( int j=0; j<3; j++) { arr[4][0] = 0; arr[4][2] = 0; sum[3][0] += arr[i][j]; } } //Matrix 14 sum arr[4][0] =x; arr[4][2] = y; x = arr[4][1]; y = arr[4][3]; for( int i=3; i<6; i++) { for( int j=1; j<4; j++) { arr[4][1] = 0; arr[4][3] = 0; sum[3][1] += arr[i][j]; } } //Matrix 15 sum arr[4][1] =x; arr[4][3] = y; x = arr[4][2]; y = arr[4][4]; for( int i=3; i<6; i++) { for( int j=2; j<5; j++) { arr[4][2] = 0; arr[4][4] = 0; sum[3][2] += arr[i][j]; } } //Matrix 16 sum arr[4][2] =x; arr[4][4] = y; x = arr[4][3]; y = arr[4][5]; for( int i=3; i<6; i++) { for( int j=3; j<6; j++) { arr[4][3] = 0; arr[4][5] = 0; sum[3][3] += arr[i][j]; } } // Finding the maximum max= sum[0][0]; for( int i=0; i<4; i++) { for( int j=0; j<4; j++) { if ((sum[i][j]) > max) { max= sum[i][j]; } } } cout << max; return 0; }

 
 
 

Recent Posts

See All
Swap two words in a byte

#include <iostream> using namespace std; int main() { unsigned int data=0x1234; cout<<"data before swapping :"<<hex<<data<<endl; ...

 
 
 
Fibonacci series

#include <iostream> using namespace std; int main() { // Getting the input of fibonacci series long int n; cout<<"Enter the size of...

 
 
 

Kommentare


bottom of page