알고리즘/SWExpert알고리즘

[SWEA] 2805 - 농작물 수확하기

Fenderblue 2023. 5. 20. 02:43
package D3;

import java.io.*;
import java.util.StringTokenizer;

public class SW_2805 {  //농작물 수확하기 문제
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int T = Integer.parseInt(br.readLine());    //테스트케이스 개수
        int size; //농장의 크기 sizw X size
        int mid;   //가운데 인덱스
        StringTokenizer st;
        int[][] board;
        String str;
        for (int t = 1; t <= T; t++) {
            size = Integer.parseInt(br.readLine());
            mid = (size - 1) / 2;
            board = new int[size][size];

            for (int i = 0; i < size; i++) {
                str = br.readLine();
                for (int j = 0; j < size; j++) {
                    board[i][j] = str.charAt(j) - '0';
                }
            }
            int sum = 0;
            for (int i = 0; i <= mid; i++) {
                for (int j = mid - i; j <= mid + i; j++) {
                    if (j >= 0 && j < size) {
                        sum += board[i][j];
                    }
                }
            }
            int temp = 1;
            for (int i = mid + 1; i < size; i++) {
                for (int j = temp; j < size - temp; j++) {
                    if (j >= 0 && j < size) {
                        sum += board[i][j];
                    }
                }
                temp++;
            }
            bw.write("#" + t + " " + sum);
            bw.newLine();

        }
        bw.flush();
        bw.close();

    }
}