BusSimulation ¶
- ์๋ ๋์์ธ์ด ์ถ์ ์ฝ๋ ์ฒผ๋ฆฐ์ง์ 6๋จ๊ณ๊น์ง ํด์ ๋ด๋ ค๋ ๋ฌธ์ ์ธ๋ฐ(๋ต ๊ฒ์ฆ์ ๋ชปํ ๊ด๊ณ๋ก 2๋จ๊ณ๋ก ์ถ์ํ ์ผ๋ถ ๋ฌธ์ ๋ก๋ง ๋) ์ด์ ๋ง๋ ๊ฑฐ ์๊น์์ ์ด๋ ๊ฒ ์ฌ๋ฆผ - ์ํ
- ์ฐ๋ฆฌ๋ ๋ณดํต ๋ฒ์ค๋ฅผ ๊ธฐ๋ค๋ฆด ๋ ๋ฒ์ค๊ฐ ํ๊บผ๋ฒ์ ์ค๋ ๊ฒฝ์ฐ๋ฅผ ์ข
์ข
๋ณด๊ฒ ๋๋ค. ๋ฒ์ค๊ฐ ์ฒ์์ ์ถ๋ฐํ ๋๋ ์ผ์ ํ ๊ฐ๊ฒฉ์ผ๋ก ์ถ๋ฐํ์์ ํ
๋ฐ ์ด๋ ๊ฒ ๋ชฐ๋ ค๋ค๋๋ ์ด์ ๋ ๋ฌด์์ผ๊น? ์ด ์ด์ ๋ฅผ ์ปดํจํฐ๋ก ์๋ฌผ๋ ์ด์
ํด๋ณธ๋ค. ์ด๊ธฐ ๋จ๊ณ์์๋ ์ต๋ํ ๊ฐ๋จํ๊ฒ ์์ํด์ ์ ์ฐจ ํ์ค์ ๋ฐ์ํ๋ ์๋ฌผ๋ ์ด์
์ผ๋ก ๋ง๋ค์ด ๋๊ฐ๋ค. ํ์ ๋จ๊ณ๋ฅผ ๋ฌด์ํ๊ณ ๋ค์ ๋จ๊ณ๋ก ์ฌ๋ผ๊ฐ ์ ์์ผ๋ฉด ์์ฐจ์ ์ผ๋ก ์๋ฌผ๋ ์ด์
๋จ๊ณ๋ฅผ ์ฌ๋ผ๊ฐ๋ค.
- Data Input - ์๋ฌผ๋ ์ด์
๋ฐ์ดํฐ๋ busData.txt ์ busStationData.txt ๋ ๊ฐ์ง ๋ก๋ถํฐ ๋ฐ์๋ค์ธ๋ค. ๊ฐ ๋ฐ์ดํฐ์ ๊ฐ์ ๋จ๊ณ๊ฐ ์ฌ๋ผ๊ฐ์ ๋ฐ๋ผ์ ์ถ๊ฐ๋์ด๊ฐ๋ค.
- User Input - ์ฌ์ฉ์๋ ์์ ์ด ์ํ๋ ์๊ฐ ํ์ ์๋ฌผ๋ ์ด์
๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์๋ค. ์๊ฐ๊ณผ ๋ถ์ ์
๋ ฅ๋ฐ๋๋ค.
- Output - ์ถ๋ ฅ๊ฒฐ๊ณผ๋ ๋ฒ์ค์ ์์น(๋จ์ meter), ๋จ๊ณ์ ๋ฐ๋ผ์ ์น๊ฐ ์๋ฅผ ์ถ๋ ฅํ๋ค.
1 ๋จ๊ณ ¶
- ์กฐ๊ฑด : ๋ฒ์ค์ ์๋ ฅ, ์ด์ดํ๊ตฌ๊ฐ ๊ฑฐ๋ฆฌ
- ๋ฌธ์ : ํน์ ์๊ฐ ํ์ ๋ฒ์ค์ ์์น๋?
- Input
- busData.txt
- busData.txt
~cpp 120000 60 65 72 75 80
- busStationData.txt(์๊ฐ_์ด)
~cpp 60
- Output
~cpp 1000 1083.33 1200 1250 1333.33
ํ ์คํธ ¶
~cpp 2์๊ฐ 10๋ถ 10000 (120000 + 10000 - 120000) 20833.3(130000 + 10830 - 120000) 36000 (144000 + 12000 - 120000) 42500 (150000 + 12500 - 120000) 53333.3(160000 + 13333 - 120000) 5์๊ฐ 30๋ถ 90000 117500 36000 52500 80000
2 ๋จ๊ณ ์กฐ๊ฑด ¶
- ์ถ๊ฐ ์กฐ๊ฑด : ์ ๋ฅ์ฅ ์์น ๋ฐ์ดํฐ ์ถ๊ฐ, ์ ๋ฅ์ฅ ๋๋น ๋ฐ์ดํฐ ์ถ๊ฐ, ์ ๋ฅ์ฅ์์ ๋๊ธฐํ๋ ์๊ฐ ๋ฐ์ดํฐ ์ถ๊ฐ
- Input
- busData.txt
- busData.txt
~cpp 120000 60 65 72 75 80
- busStationData.txt(์๊ฐ_์ด, ์ ๋ฅ์ฅ ๋๋น, ์ ๋ฅ์ฅ์์ ๋๊ธฐํ๋ ์๊ฐ-์ฒ์ ์ถ๋ฐ ํ ๋๋ ์ ๋ฅ์ฅ์์๋ ๋๊ธฐ์ํจ)
~cpp 5400 12 5 20000 40000 60000 80000 100000 0
- ๋ฒ์ค๊ฐ ์ ๋ฅ์ฅ์์ 5๋ถ๊ฐ ์ฌ์๋ค๊ฐ ์ด๋ํจ
- ๋ฌธ์ : ํน์ ์๊ฐ ํ์ ๋ฒ์ค์ ์์น๋?
- Output
~cpp 75000 75833.3 84000 87500 93333.3
ํ ์คํธ ¶
~cpp 4์๊ฐ 30๋ถ(270) 100000 100007 12000 28750 40000
3 ๋จ๊ณ ¶
- ์ถ๊ฐ ์กฐ๊ฑด : ๋ฒ์ค๊ฐ ์ถ๋ฐํ๋ ์๊ฐ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ ์ถ๊ฐ (24๋ถ)
- ๋ฌธ์ : ํน์ ์๊ฐ ํ์ ๋ฒ์ค์ ์์น๋?
- Input
- busData.txt
- busData.txt
~cpp 120000 60 65 72 75 80
- busStationData.txt(์๊ฐ_์ด, ์ ๋ฅ์ฅ ๋๋น, ์ ๋ฅ์ฅ์์ ๋๊ธฐํ๋ ์๊ฐ-์ฒ์ ์ถ๋ฐ ํ ๋๋ ์ ๋ฅ์ฅ์์๋ ๋๊ธฐ์ํจ, ์ถ๋ฐํ๋ ๊ฐ๊ฒฉ(๋ถ))
~cpp 5400 12 5 24 20000 40000 60000 80000 100000 0
- Output
~cpp 75000 55286.1 40000 20000
ํ ์คํธ ¶
~cpp 4์๊ฐ 30๋ถ(270) 100000 81536.1 86440 77541.7 60000
4 ๋จ๊ณ ¶
- ์ถ๊ฐ ์กฐ๊ฑด
- ์ ๋ฅ์ฅ์๋ 1๋ถ๋ง๋ค ์ผ์ ํ ์๋ก ์ฌ๋ ์ ์ฆ๊ฐ(1๋ช
)
- ๋ฒ์ค์ ํ์ ์๋ ์ฌ๋์ ์ ํ(70๋ช
)
- ์ ๋ฅ์ฅ์์ ๋ด๋ฆฌ๋ ์ฌ๋์ ๋ฐ์ดํฐ ์ถ๊ฐ(10๋ช
)
- ๋ฒ์ค๊ฐ ์ ๋ฅ์ฅ์ ๋ฉ์ถ๋ฉด ํ์ฌ ์ ๋ฅ์ฅ์ ๊ธฐ๋ค๋ฆฌ๋ ๋ชจ๋ ์ฌ๋์ ํ์ฐ๊ณ ์ด๋
- ๋ฒ์ค๊ฐ ์ ๋ฅ์ฅ์ ๋ฉ์ถ๋ฉด ํ์ฌ ์ ๋ฅ์ฅ์ ๊ธฐ๋ค๋ฆฌ๋ ๋ชจ๋ ์ฌ๋์ ํ์ฐ๊ณ ์ด๋
- ์ ๋ฅ์ฅ์๋ 1๋ถ๋ง๋ค ์ผ์ ํ ์๋ก ์ฌ๋ ์ ์ฆ๊ฐ(1๋ช
)
- ๋ฌธ์ : ํน์ ์๊ฐ ํ์ ๋ฒ์ค์ ์์น ๋ฐ ๋ฒ์ค์ ์น๊ฐ์๋?
- Input
- busData.txt
- busData.txt
~cpp 120000 60 65 72 75 80
- busStationData.txt(์๊ฐ_์ด, ์ ๋ฅ์ฅ ๋๋น, ์ ๋ฅ์ฅ์์ ๋๊ธฐํ๋ ์๊ฐ-์ฒ์ ์ถ๋ฐ ํ ๋๋ ์ ๋ฅ์ฅ์์๋ ๋๊ธฐ์ํจ, ์ถ๋ฐํ๋ ๊ฐ๊ฒฉ(๋ถ), ์ ๋ฅ์ฅ์์ ์ฌ๋ ์ ์ฆ๊ฐ ์จ(๋ช
/๋ถ), ๋ฒ์ค์ ํ ์ ์๋ ์ฌ๋ ์ ,์ ๋ฅ์ฅ์์ ๋ด๋ฆฌ๋ ์ฌ๋ ์)
~cpp 5400 12 5 24 1 70 10 20000 40000 60000 80000 100000 0
- Output
~cpp 75000 70 55286.1 27 40000 28 20000 23
ํ ์คํธ ¶
~cpp 4์๊ฐ 30๋ถ(270) 100000 70 81536.1 70 86440 70 77541.7 70 60000 70
5 ๋จ๊ณ ์กฐ๊ฑด ¶
- ์ข
์ ์์๋ ๋ชจ๋ ์น๊ฐ์ด ๋ด๋ฆฐ๋ค. ์ข
์ ์์๋ ํ๋ ์น๊ฐ์ด ์๋ค. (์ฃผ์ - ์๋ InputData์์ ์ํ๋ ์๊ฐ์ 5400(1์๊ฐ30๋ถ)์ด ์๋๋ผ 9600(2์๊ฐ40๋ถ)์ผ๋ก ์ค์ ํจ)
- Input
- busData.txt
- busData.txt
~cpp 120000 60 65 72 75 80
- busStationData.txt(์๊ฐ_์ด, ์ ๋ฅ์ฅ ๋๋น, ์ ๋ฅ์ฅ์์ ๋๊ธฐํ๋ ์๊ฐ-์ฒ์ ์ถ๋ฐ ํ ๋๋ ์ ๋ฅ์ฅ์์๋ ๋๊ธฐ์ํจ, ์ถ๋ฐํ๋ ๊ฐ๊ฒฉ(๋ถ), ์ ๋ฅ์ฅ์์ ์ฌ๋ ์ ์ฆ๊ฐ ์จ(๋ช
/๋ถ), ๋ฒ์ค์ ํ ์ ์๋ ์ฌ๋ ์ ,์ ๋ฅ์ฅ์์ ๋ด๋ฆฌ๋ ์ฌ๋ ์)
~cpp 9600 12 5 24 1 70 10 20000 40000 60000 80000 100000 0
- Output
~cpp 10000 0 109453 70 104440 70 85041.7 70 65377.8 46
- ๋ฌธ์ : ํน์ ์๊ฐ ํ์ ๋ฒ์ค์ ์์น ๋ฐ ๋ฒ์ค์ ์น๊ฐ์๋?
ํ ์คํธ ¶
~cpp 2์๊ฐ 40๋ถ 160๋ถ 10000 0 109453 70 104440 70 85041.7 70 65377.8 46 6์๊ฐ 10๋ถ 60000 70 48202.8 7 60000 70 57541.7 44 45377.8 300 70
6 ๋จ๊ณ ์กฐ๊ฑด ¶
- ์ถ๊ฐ ์กฐ๊ฑด : ์ ๋ฅ์ฅ์์ ๋ฒ์ค์ ํ์น์ ํ์ฌ๋๋น ๊ฑธ๋ฆฌ๋ ์๊ฐ ๋ฐ์ดํฐ ์ถ๊ฐ
- ๋ฌธ์ : ํน์ ์๊ฐ ํ์ ๋ฒ์ค์ ์์น ๋ฐ ๋ฒ์ค์ ์น๊ฐ์๋?
- Input
- busData.txt
- busData.txt
~cpp 120000 60 65 72 75 80
- busStationData.txt(์๊ฐ_์ด, ์ ๋ฅ์ฅ ๋๋น, ์ ๋ฅ์ฅ์์ ๋๊ธฐํ๋ ์๊ฐ-์ฒ์ ์ถ๋ฐ ํ ๋๋ ์ ๋ฅ์ฅ์์๋ ๋๊ธฐ์ํจ, ์ถ๋ฐํ๋ ๊ฐ๊ฒฉ(๋ถ), ์ ๋ฅ์ฅ์์ ์ฌ๋ ์ ์ฆ๊ฐ ์จ(๋ช
/๋ถ), ๋ฒ์ค์ ํ ์ ์๋ ์ฌ๋ ์ ,์ ๋ฅ์ฅ์์ ๋ด๋ฆฌ๋ ์ฌ๋ ์, ํ์ฌ๋์ด ๋ฒ์ค์ ํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ)
~cpp 9600 12 5 24 1 70 10 7 20000 40000 60000 80000 100000 0
- Output
~cpp 22266.7 42 10938.9 0 119040 70 95458.3 70 75111.1 46
ํ ์คํธ ¶
~cpp 2์๊ฐ 40๋ถ 22266.7 42 10938.9 0 119040 70 95458.3 70 75111.1 46 5์๊ฐ 40๋ถ 65116.7 59 59993.1 70 69840 70 60000 6 47888.9 11 12์๊ฐ 10๋ถ 62100 40 76397.2 70 9120 0 10229.9 46 20000 46
๊ฒฐ๊ณผ ๋ถ์ ¶
- ๋ฒ์ค๋ค์ด ๋ชฐ๋ ค๋ค๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ฒฐ๋ก ¶
- ๋ฌผ๋ฆฌ์ ์ธ ์ถ์ธก๋ง์ผ๋ก ๋ฒ์ค๊ฐ ์ฐ๋ฌ์ ์ค๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํ์๋๋ฐ ์ด๋ฅผ ์ค์ ๋ก ์ปดํจํฐ๋ก ์๋ฌผ๋ ์ด์
ํจ์ผ๋ก์จ ๊ทธ๋ฌํ ํ์์ด ์ผ์ด๋๋ ๊ณผ์ ๋ ๊ด์ฐฐํ ์ ์์๊ณ , ์๋ฌผ๋ ์ด์
ํ๋ ๊ณผ์ ์์ ์ฌ๋ฌ ๊ฐ์ง ์กฐ๊ฑด์ ์ค์ ํ๋ฉด์ ๊ฐ ์กฐ๊ฑด์ ๋ฐ๋ผ์ ์๋ฌผ๋ ์ด์
์ด ์ด๋ป๊ฒ ๋ณํ ์ง๋ ์๊ฐํด ๋ณผ ์๋ ์์๋ค. ์ด๋ฌํ ๊ฒฝํ์ ์ํ ์์ ๋ฌผ๋ฆฌ ํ์์ ๋์ ์ ๊ณต๊ณผ ์ฐ๊ณํด๋ณผ ์๋ ์๊ตฌ๋ ํ๋ ์ ์ ํ ์ถฉ๊ฒฉ์ด์๋ค. ์ด๋ฌํ ์ผ๋ค์ด ์ฌ์ด์ผ์ ์๋์์ง๋ง ์ ๋ง ์ข์ ๊ฒฝํ์ด ๋์๋ค.
๋์จ ์์ค ¶
์์ค | ์์ฑ์ |
BusSimulation/์ํBusSimulation/์ํ(STL) BusSimulation/์ํ(STL)2 | ์ํ |
BusSimulation/์๋ | ์๋ |
BusSimulation/ํํzyint | ํํ |
BusSimulation/์์ฐฝ | ์์ฐฝ |
BusSimulation/์กฐํํ | ์กฐํํ |
Discrete Event Simulation์ด ๋๊ฒ ๊ตฐ์. ์ฌ๋์ด ๋ช ๋ช
์ด ๊ธฐ๋ค๋ฆฌ๋๋, ๊ธธ ๋งํ ์ํ ๋ฑ์ ์ด์ฐ ํ๋ฅ ๋ถํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ๊ฒ์
๋๋ค.
TheArtOfComputerProgramming์์
DonaldKnuth๊ฐ ์๊ธฐ ํ๊ต ์ํ๊ณผ ๊ฑด๋ฌผ ์๋ ๋ฒ ์ดํฐ๋ฅผ ๋ช ์๊ฐ ๊ด์ฐฐํด์ ๋ฐ์ดํ๋ฅผ ์์งํ ๊ฒ๊ณผ ๋น์ทํ๊ฒ ํ์๋ค์ด ์ง์ 84๋ฒ, 85-1๋ฒ ๋ฑ์ ๋ฒ์ค๋ฅผ ํ๊ณ ๋ค๋๋ฉด์ ์๋ฃ ์์ง์ ํด์ ๊ทธ๊ฑธ ์๋ฎฌ๋ ์ด์
์คํํ๋ฉด ์์ฃผ ๋ง์ ๊ณต๋ถ๊ฐ ๋ ๊ฒ์
๋๋ค -- ํนํ, ์ด๋ป๊ฒ ์ค์ธ๊ณ๋ฅผ ์ปดํจํฐ๋ก ์ฎ๊ธฐ๋๋ ๋ฑ์ ๋ชจ๋ธ๋ง ๋ฌธ์ ์ ๊ดํด. ์ค์ ๋ก
DonaldKnuth๋ TAOCP์์ ์ด๋ฐ ์ฐ์ต๋ฌธ์ ๋ฅผ ๋ง๋ค์ด ๋จ์ต๋๋ค. ์ ๊ฐ ํ๋ถ์ ๋ ๋๊ตฐ๊ฐ ์ด๋ฐ ์์ ๋ฅผ ๋ด์คฌ๋ค๋ฉด ์๋ง ํ ๋ ๊ณ๋จ(see also ์ถ์ ๊ณผ๋ณํ) ์ฌ๋ผ์ค ๊ณ๊ธฐ๊ฐ ๋์ง ์์์๊น ํ๊ณ ์์ฌ์ธ ๋๊ฐ ์์ต๋๋ค. ์ด ๋ฌธ์ ์ ๋๋ ์๊ฐ์ ํ๋ฃจ๋ ์ดํ ์ ๋๊ฐ ๋๊ฒ ์ง๋ง ์ฌ๊ธฐ์ ์ป์ ๊ฒฝํ๊ณผ ์งํ๋ ์ญ ๋
๋ ๋๊ฒ ์์ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์์ ๋์์ด ๋ ๊ฒ์ด๋ผ ๋ฏฟ์ด ์์ฌ์น ์์ต๋๋ค. (ํ์ผ๋ก ๋ฌธ์ ํด๊ฒฐ์ ํ๋ฉด ๋ ๋ง์ ๊ณต๋ถ๊ฐ ๋๊ฒ ์ง์) see also ProgrammingPartyAfterwords ์ฐธ๊ณ ์๋ฃ --JuNe



see also ๋ฐ๋ธ์ค์บ ํ2002