๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/11544)
< D as in Daedalus >
๋ฌธ์ ํ์ด
์๋ ์ ํํ ์นด๋๋ฅผ ํตํด ์ป์ ์ ์๋ ์ ์์ ์นด๋๋ฅผ ๋ฐ๊ฟ์ ์ป์ ์ ์๋ ์ ์๋ฅผ ๊ตฌํ๋ค.
5 3
300 10 100 10 1 10
1100 100 10 100 1 1000
1200 100 100 10 1 1000
์ด ๊ฒฝ์ฐ ์๋ ์ป์ ์ ์๋ ์ ์๋ ์ฒซ ๋ฒ์งธ ๋ผ์ด๋์์ ์ฑ๊ณตํ๊ธฐ ๋๋ฌธ์ 10์ ์ด๋ค.
ํ์ง๋ง ์ฒซ ๋ฒ์งธ ๋ผ์ด๋์์ 10 ๋์ 100์ ๋ด๊ณ , ์ธ ๋ฒ์งธ ๋ผ์ด๋์์ 100 ๋์ 10์ ๋ธ๋ค๋ฉด 110์ ์ ์ป์ ์ ์๋ค.
๊ทธ ๊ฒฐ๊ณผ 110 - 10 = 100์ด ์ ๋ต์ด ๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class _11544_ { // D as in Daedalus
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int result = 0;
for (int i = 0; i < m; i++) {
st = new StringTokenizer(bf.readLine());
int b = Integer.parseInt(st.nextToken());
int c1 = Integer.parseInt(st.nextToken());
int sum = 0;
for (int j = 0; j < n - 1; j++) {
sum += Integer.parseInt(st.nextToken());
}
int expect = 0;
if (b > sum) {
int temp = b - sum;
if (temp >= 10000) {
expect = 10000;
} else if (temp >= 1000) {
expect = 1000;
} else if (temp >= 100) {
expect = 100;
} else if (temp >= 10) {
expect = 10;
} else if (temp >= 1) {
expect = 1;
}
}
int temp = 0;
sum += c1;
if (b >= sum) {
temp = c1;
}
result += (expect - temp);
}
System.out.println(result);
}
}
๋ณ์)
n, m : ํ๋ ์ด์ด ์, ๋ผ์ด๋ ์
result : ์ถ๊ฐ ์ ์ ์ต๋ ์ด ์
b, c1, sum : ์์ฐ, Dedalus ์นด๋, ํ๋ ์ด์ด ์นด๋ ํฉ
expect : ์นด๋๋ฅผ ๋ฐ๊ฟ ์ป์ ์ ์๋ ์ ์
temp : ํ์ฌ ์ป์ ์ ์๋ ์ ์
ํ๋ ์ด์ด ์์ ๋ผ์ด๋ ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ๋ผ์ด๋ ์๋งํผ ๋ค์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
1) ์์ฐ์ ์ ๋ ฅ๋ฐ๋๋ค.
2) Daedalus์ ์นด๋ ๊ฐ์ c1์ ์ ์ฅํ๊ณ ๋๋จธ์ง๋ฅผ sum์ ํฉ์ ๊ตฌํ๋ค.
3) ์์ฐ ์์์ Daedalus๊ฐ ๋ผ ์ ์๋ ๊ฐ์ฅ ํฐ ์นด๋ ๊ฐ์ ๊ตฌํ๋ค.
4) ์๋ฌด๋ ๋ณ๊ฒฝํ์ง ์์ n๋ช ์ ํ๋ ์ด์ด์ ์นด๋ ํฉ์ ๊ตฌํด ์๋ ์ป์ ์ ์๋ ์ ์๋ฅผ ๊ตฌํ๋ค.
5) result์ ์นด๋๋ฅผ ๋ณ๊ฒฝํ์ ๋ ์ป์ ์ ์๋ ์ถ๊ฐ ์ ์ (expect - temp)๋ฅผ ๋ํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 28464_Potato (1) | 2025.04.30 |
---|---|
[Baekjoon] 4335_์ซ์ ๋ง์ถ๊ธฐ (0) | 2025.04.29 |
[Baekjoon] 5840_Breed Proximity (1) | 2025.04.25 |
[Baekjoon] 21221_Bold (0) | 2025.04.24 |
[Baekjoon] 16815_Star in Parentheses (1) | 2025.04.23 |