https://www.acmicpc.net/problem/2563
์ฝ๋
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt(); //์์ข
์ด์ ์
int area = 0;
boolean[][] check = new boolean[101][101];
for(int tc=0; tc<num; tc++) {
int x = scan.nextInt(); // ์์ข
์ด์ ์ข์ธก ์๋ ๊ผญ์ง์ ์ขํ
int y = scan.nextInt(); // ์์ข
์ด์ ์ข์ธก ์ ๊ผญ์ง์ ์ขํ
for(int i=x; i<x+10; i++) { // ์์ข
์ด์ ๊ฐ๋ก, ์ธ๋ก ํฌ๊ธฐ๋ 10
for(int j=y; j<y+10; j++) {
if(check[i][j] == true) { // ์ด์ ์ ์ํด ์ด๋ฏธ ์น ํ๊ฒฝ์ฐ => ์ค๋ณต๋๋ฏ๋ก ์ ๊ฑฐ
continue;
}
check[i][j] = true; // ๊ฒ์์ ์์ข
์ด๋ก ์์น ํ๊ธฐ
area ++;
}
}
}
System.out.println(area);
scan.close();
}
}
ํ์ด
KOI 2007 ์ด๋ฑ๋ถ ๋ฌธ์ ,
์ฒ์์ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ , ์ด๋ป๊ฒ ์ค๋ณต๋ ๋ถ๋ถ์ ์ ๊ฑฐํ ์ ์์์ง ์๊ฐํด๋ดค๋ค..
100 x 100 ๋ํ์ง์ ํฌ๊ธฐ์ ์ ๋ ฅ๋ฐ๋ ์์ข ์ด์ ๋์ด๋งํผ ๋ชจ๋ ์ฒดํฌํ๊ณ , ๋ง์ฝ ๊ฒน์น๋๊ณณ์ ์ฒดํฌ๋ฅผ ๋ค์ ์ ๊ฑฐํ๋ ์์ผ๋ก ํด๊ฒฐํ๋ค.
๋ฌธ์ ์์ ์ฃผ์ด์ง 1์ฌ๋ถ๋ฉด์ ๊ทธ๋๋ก 2์ฐจ์ ๋ฐฐ์ด๋ก ์๊ฐํ๋ฉด ํด๊ฒฐํ ์ ์๋ค.
์ ๋ ฅ๋ฐ๋ ์ฒซ ๋ฒ์งธ ์์ฐ์๋ ์์ข ์ด์ ์ผ์ชฝ ๋ณ๊ณผ ๋ํ์ง์ ์ผ์ชฝ ๋ณ ์ฌ์ด์ ๊ฑฐ๋ฆฌ => x์ขํ
์ ๋ ฅ๋ฐ๋ ๋ ๋ฒ์งธ ์์ฐ์๋ ์์ข ์ด์ ์๋์ชฝ ๋ฒฝ๊ณผ ๋ํ์ง์ ์๋์ชฝ ๋ฒฝ ์ฌ์ด๊ฑฐ๋ฆฌ => y์ขํ
์์ข ์ด๋ ๊ฐ๋ก ํฌ๊ธฐ 10์ธ ์ ์ฌ๊ฐํ์ด๋ฏ๋ก, x ~ x +10 , y ~ y + 10 ๊น์ง์ ๋ชจ๋ ์ขํ์๋ํด checkํ๋ค.
๊ทธ ํ ๋ฉด์ ์ +1์ฉ ํ๋ค.
๊ทธ ํ ๋ค์ ์ ๋ ฅ๋ฐ์ ์์ข ์ด์ ๋ํด์๋ ๋์ผํ ๊ณผ์ ์ ์ํํ๋๋ฐ, ๋ง์ฝ ์ด์ ์ checkํ ๋ถ๋ถ์ด๋ฉด false๋ฅผ ํตํด
check๋ฅผ ์ ๊ฑฐํ๋ค.(์ด์ ์ ๋ฉด์ ์์ +1ํ์ผ๋ฏ๋ก, ์ด๋๋ ๋ฉด์ ์ ++ํ์ง ์๋๋ค.)
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1551๋ฒ: ์์ด์ ๋ณํ(์ํ, ์๋ฎฌ๋ ์ด์ ) (0) | 2020.03.04 |
---|---|
[๋ฐฑ์ค] 1526๋ฒ: ๊ฐ์ฅ ํฐ ๊ธ๋ฏผ์(์๋ฎฌ๋ ์ด์ ) (0) | 2020.03.04 |
[๋ฐฑ์ค] 1789๋ฒ: ์๋ค์ ํฉ(๊ตฌํ) (0) | 2020.03.04 |
[๋ฐฑ์ค] 1764๋ฒ: ๋ฃ๋ณด์ก(๊ตฌํ, ์ ๋ ฌ) - HashSet (0) | 2020.03.04 |
ํ๋ก๊ทธ๋๋จธ์ค[Java] - ์นดํซ(์์ ํ์, ์ํ) (0) | 2020.03.04 |
๋๊ธ