BOJ 10836 여왕벌
-
변수
int[] line; //왼쪽부터 위쪽까지 1차원 배열로 생각 int[] growList; // 0 1 2씩 증가하는 정보를 담는 배열
-
로직
-
가장자리를 나타낸 1차원 배열에 커야되는 만큼 증가를 시킨다.
-
윗열을 기준으로 그 아래 열들은 맨 위 열의 값과 같도록 출력해준다.
-
-
코드
package com.ssafy;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class BOJ_10836_여왕벌_210113 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
BOJ_10836_여왕벌_210113 Algo = new BOJ_10836_여왕벌_210113();
int M = Integer.parseInt(st.nextToken());
int N = Integer.parseInt(st.nextToken());
int[] line = new int[M*2 -1];
int[] growList = new int[3];
while (N-- > 0)
{
st = new StringTokenizer(br.readLine());
growList[0] = Integer.parseInt(st.nextToken());
growList[1] = Integer.parseInt(st.nextToken());
growList[2] = Integer.parseInt(st.nextToken());
for (int i = growList[0]; i < growList[0] + growList[1]; i++)
{
line[i]++;
}
for (int i = growList[0] + growList[1]; i < 2 * M - 1; i++)
{
line[i] += 2;
}
}
Algo.print(line, M);
}
private void print(int[] line, int M) {
for (int i = 0; i < M; i++){
for (int j = 0; j < M; j++){
if (j == 0)
System.out.print(line[M - i - 1]+1 + " ");
else
System.out.print(line[M + j - 1]+1 + " ");
}
System.out.println();
}
}
}
Leave a comment