티스토리 뷰

Algorithm

백준_여왕벌_10836

Young_J 2020. 10. 28. 23:06

//알고리즘

1. 단순 시뮬레이션 문제

-> 구현은 크게 어렵지는 않았지만 주어진 값의 범위를 생각못하고 재귀로 풀어버리려고했음..(N값 100만)

-> 재귀를 for문으로 고쳤지만 시간초과가 남. 

-> 알고리즘은 똑같지만 입력할 때, Scanner를 사용했는데 BufferedReader로 바꿔서 시간초과를 해결 함.

-> M값이 700이하고 N값이 100만 이하기 때문에 지금 구현 한 알고리즘도 문제가 있어보임. 

 

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {
	static int map[][], M, N, num[][];
	static int[] dr = { 0, -1, -1 };
	static int[] dc = { -1, -1, 0 };

	public static void main(String[] args) throws IOException {
		BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		M = Integer.parseInt(st.nextToken());
		N = Integer.parseInt(st.nextToken());

		map = new int[M][M];
		num = new int[N][3];


		for (int i = 0; i < M; i++) {
			Arrays.fill(map[i], 1);
		}

		int[] arr = new int[2 * M - 1];

		for (int k = 0; k < N; k++) {
			st = new StringTokenizer(br.readLine());
			
			int zero = Integer.parseInt(st.nextToken());
			int one = Integer.parseInt(st.nextToken());
			int two = Integer.parseInt(st.nextToken());
			
			for (int i = 1; i <= one; i++) {
				arr[zero+i-1] += 1;
			}
			
			for (int i = 1; i <= two; i++) {
				arr[zero+one+i-1] += 2;
			}
			
		}

		calMap(arr);
		print(map);
	}

	private static void calMap(int[] arr) {
		int index = 0;
		for (int r = M - 1; r >= 0; r--) {
			map[r][0] += arr[index++];
		}
		for (int c = 1; c < M; c++) {
			map[0][c] += arr[index++];
		}

		for (int i = 1; i < M; i++) {
			for (int j = 1; j < M; j++) {
				int nr = i + -1;
				int nc = j + 0;
				map[i][j] = map[nr][nc];
			}
		}

	}

	private static void print(int[][] map) {
		for (int i = 0; i < map.length; i++) {
			for (int j = 0; j < map[i].length; j++) {
				System.out.print(map[i][j] + " ");
			}
			System.out.println();
		}
		System.out.println();
	}

}

'Algorithm' 카테고리의 다른 글

SW Expert Academy_수영장  (0) 2020.10.31
백준_뱀_3190  (0) 2020.10.29
백준_치즈_2636  (0) 2020.10.27
백준_마법사 상어와 토네이도_20057  (0) 2020.10.26
SW Expert Academy_보급로  (0) 2020.10.25
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함