반응형
[알고리즘][BOJ][2563] 색종이
문제
https://www.acmicpc.net/problem/2563
풀이
색종이가 겹쳐졌을 때 겹친 횟수를 카운팅 해줍니다. 또한, 전체 넓이는 [색종이의 수 * 100] 이므로 [겹친 횟수 + 1] 만큼 넓이에서 빼주면 됩니다.
코드
package algorithm_basic;
import java.util.Scanner;
public class q_2563 {
static int[][] paper;
static int[][] all;
static int num;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
num = sc.nextInt();
sc.nextLine();
paper = new int[num][2];
all = new int[101][101];
//색종이 좌표 입력 & 좌표 체크
for(int i=0;i<num;i++) {
paper[i][0] = sc.nextInt();
paper[i][1] = sc.nextInt();
checking(paper[i][0],paper[i][1]);
}
//색종이 넓이
int width = 100*num;
for(int i=0;i<101;i++) {
for(int j=0;j<101;j++) {
if (all[i][j]==0 || all[i][j]==1) {
continue;
}else {
width = width - all[i][j] + 1;
}
}
}
System.out.println(width);
}
//좌표 체크하는 함수
static void checking(int p, int q) {
for(int i=0;i<10;i++) {
for(int j=0;j<10;j++) {
all[p+i][q+j]++;
}
}
}
}
반응형
'CS > Algorithm' 카테고리의 다른 글
[알고리즘][BOJ][2146] 다리 만들기 (0) | 2018.10.30 |
---|---|
[알고리즘][BOJ][1697] 숨바꼭질 (0) | 2018.10.17 |
[알고리즘][BOJ][2667] 단지번호 붙이기 (0) | 2018.10.03 |
[알고리즘][swea][1208] Flatten (0) | 2018.10.03 |
[알고리즘][DFS][2251] 물통 (0) | 2018.09.27 |
댓글