본문 바로가기
Programming/Algorithm

swe 1209 Sum

by OKOK 2018. 3. 28.

1. 20분컷

2. 기본다지기 문제

3. 문제에 나온대로 구현하면 됩니다.

for문과 if문만 사용하면 됩니다.


/*

1520 시작합니다.

1209 Sum 문제입니다.


저렇게 만들면 되겠습니다. 그리고 검사를 할때 테두리만 검사를 진행하면 됩니다.

*/


#include <iostream>

#include <algorithm>

using namespace std;

#define SIZE 100 // 101


int map[SIZE + 1][SIZE + 1];

int maxVal;

int sum;

int leftDown;


void problemIn() {

for (int i = 0; i < SIZE; i++) {

for (int j = 0; j < SIZE; j++) {

cin >> map[i][j];

}

}

}


void solve() {

// 오른쪽

for (int i = 0; i < SIZE; i++) {

sum = 0;

for (int j = 0; j < SIZE; j++) {

sum += map[i][j];

}

map[i][SIZE] = sum;

}


// 아래

for (int j = 0; j < SIZE; j++) {

sum = 0;

for (int i = 0; i < SIZE; i++) {

sum += map[i][j];

}

map[SIZE][j] = sum;

}


// 우하향 대각

sum = 0;

for (int i = 0; i < SIZE; i++) {

sum += map[i][i];

}

map[SIZE][SIZE] = sum;


// 좌하향 대각

sum = 0;

for (int i = 0; i < SIZE; i++) {

sum += map[i][SIZE - 1 - i];

}

leftDown = sum;


// 자 검사를 합니다.

maxVal = max(maxVal, leftDown);

for (int j = 0; j <= SIZE; j++) {

maxVal = max(maxVal, map[SIZE][j]);

}


for (int i = 0; i <= SIZE; i++) {

maxVal = max(maxVal, map[i][SIZE]);

}

}


int main() {

for (int i = 0; i < 10; i++) {

int tc;

cin >> tc;

problemIn();

solve();

cout << "#" << tc << " " << maxVal << endl;

maxVal = 0;

}