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; } } |