We will find a way, we always have.

-interstellar

Problem Solving/๋ฐฑ์ค€

[๋ฐฑ์ค€] 28457๋ฒˆ: Every? Only One's Marble - ํŒŒ์ด์ฌ

Redddy 2023. 8. 13. 22:57

๐Ÿ”ˆ ๋ฌธ์ œ

์œ ํ‹ธ์€ ์˜ค๋Š˜๋„ ํ˜ผ์ž ์ง‘์— ์žˆ๋‹ค. ์‹ฌ์‹ฌํ•ด์„œ ๊ฐ™์ด ๋ถ€๋ฃจ๋งˆ๋ถˆ ๊ฒŒ์ž„์„ ํ•  ์‚ฌ๋žŒ์„ ์ฐพ์•„๋ดค์ง€๋งŒ ์•„๋ฌด๋„ ์—†์—ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•œ ์‹œ๊ฐ„, ๋‘ ์‹œ๊ฐ„... ๋„์ €ํžˆ ์ฐธ์„ ์ˆ˜ ์—†์—ˆ๋˜ ์œ ํ‹ธ์€ ๋ถ€๋ฃจ๋งˆ๋ถˆ ๊ฒŒ์ž„์„ ํ˜ผ์ž ํ•  ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด ๋ƒˆ๋‹ค.

 

 

ํ˜ผ์ž ํ•˜๋Š” ๋ถ€๋ฃจ๋งˆ๋ถˆ ๊ฒŒ์ž„์— ์ ์šฉ๋˜๋Š” ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ผ๋ฐ˜ ์นธ์€ ๋‘ ์ข…๋ฅ˜๋‹ค.
๋„์‹œ ์นธ: ๋ˆ์„ ๋‚ด๊ณ  ๋•…์„ ์‚ฌ์•ผ ํ•˜๋Š” ์นธ
ํ™ฉ๊ธˆ ์—ด์‡  ์นธ: ํŠน์ •ํ•œ ํšจ๊ณผ๊ฐ€ ์žˆ๋Š” ์นด๋“œ๊ฐ€ ๋ฐœ๋™๋˜๋Š” ์นธ
ํŠน์ˆ˜ ์นธ์€ ๋„ค ์ข…๋ฅ˜๋‹ค.
์‹œ์ž‘ ์นธ: ์ด ์นธ์— ์ •ํ™•ํžˆ ๋ฉˆ์ถ”๊ฑฐ๋‚˜ ์ง€๋‚˜๊ฐ€๊ฒŒ ๋˜๋ฉด, ์›”๊ธ‰์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
๋ฌด์ธ๋„ ์นธ: ์ด ์นธ์— ์ •ํ™•ํžˆ ๋ฉˆ์ถ”๊ฒŒ ๋˜๋ฉด, ๋‹ค์Œ ์„ธ ํ„ด ๋™์•ˆ ๊ฐ‡ํžˆ๊ฒŒ ๋œ๋‹ค.
๊ฐ‡ํ˜€ ์žˆ๋Š” ๋™์•ˆ, ๋‘ ์ฃผ์‚ฌ์œ„๋ฅผ ๋˜์กŒ์„ ๋•Œ ๋ˆˆ์ด ๊ฐ™์€ ์ˆ˜๋กœ ๋‚˜์˜ค๋ฉด ๋ฌด์ธ๋„๋ฅผ ํƒˆ์ถœํ•˜๊ฒŒ ๋˜๋ฉฐ ๋‘ ์ฃผ์‚ฌ์œ„๋ฅผ ํ•œ ๋ฒˆ ๋” ๋˜์ ธ์„œ ๋‚˜์˜จ ์ˆ˜๋งŒํผ ์ด๋™ํ•œ๋‹ค.
์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ ์นธ: ์ด ์นธ์— ์ •ํ™•ํžˆ ๋ฉˆ์ถ”๊ฒŒ ๋˜๋ฉด, ์ง€๊ธˆ๊นŒ์ง€ ๋ชจ์ธ ์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ์„ ๋ฐ›๊ณ  ๋‚˜๋ฉด, ๊ธฐ๋ถ€๊ธˆ์€ 0์›์ด ๋œ๋‹ค.
์šฐ์ฃผ์—ฌํ–‰ ์นธ: ์ด ์นธ์— ์ •ํ™•ํžˆ ๋ฉˆ์ถ”๊ฒŒ ๋˜๋ฉด, ๋‹ค์Œ ํ„ด์— ์‹œ์ž‘ ์นธ์œผ๋กœ ์ด๋™ํ•œ ๋’ค ์ฃผ์‚ฌ์œ„๋ฅผ ๊ตด๋ฆฐ๋‹ค.
์นธ์€ ์ด $4n-4$๊ฐœ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, ์ด ์ค‘ ์ •ํ™•ํžˆ ๋„ค ๊ฐœ์˜ ์นธ์ด ํŠน์ˆ˜ ์นธ์ด๊ณ , ๋‚˜๋จธ์ง€ ์นธ์€ ์ผ๋ฐ˜ ์นธ์ด๋‹ค. $1$๋ฒˆ์งธ ์นธ์€ ์‹œ์ž‘ ์นธ์ด๊ณ , ์ฒ˜์Œ์— ์ด๊ณณ์—์„œ ์‹œ์ž‘ํ•œ๋‹ค. $n$๋ฒˆ์งธ ์นธ์€ ๋ฌด์ธ๋„ ์นธ์ด๊ณ , $2n-1$๋ฒˆ์งธ ์นธ์€ ์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ ์นธ์ด๋‹ค. $3n-2$๋ฒˆ์งธ ์นธ์€ ์šฐ์ฃผ์—ฌํ–‰ ์นธ์ด๋‹ค.  $4n-4$๋ฒˆ์งธ ์นธ๊ณผ $1$๋ฒˆ์งธ ์นธ์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Œ์— ์œ ์˜ํ•ด์•ผ ํ•œ๋‹ค.
์œ ํ‹ธ์€ ๋งค ํ„ด ๋‹ค์Œ ์ˆœ์„œ๋กœ ํ–‰๋™ํ•œ๋‹ค.
๋‘ ์ฃผ์‚ฌ์œ„ ๋˜์ง€๊ธฐ
๋‘ ์ฃผ์‚ฌ์œ„์˜ ๋ˆˆ๋งŒํผ ์ด๋™ํ•˜๊ธฐ
๋„์ฐฉํ•œ ์นธ์— ๋”ฐ๋ฅธ ํ–‰๋™ ์ˆ˜ํ–‰ํ•˜๊ธฐ
๋„์‹œ ์นธ์— ๋„์ฐฉํ–ˆ์„ ๋•Œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ˆ์ด ๋•…์˜ ๊ฐ€๊ฒฉ๋ณด๋‹ค ๋งŽ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด, ๋ฐ˜๋“œ์‹œ ๋•…์„ ๊ตฌ๋งคํ•ด์•ผ ํ•œ๋‹ค.
๋„์‹œ ์นธ์˜ ๋•…์„ ์ด๋ฏธ ๊ตฌ๋งคํ–ˆ๊ฑฐ๋‚˜ ํ˜„๊ธˆ์ด ๋ถ€์กฑํ•ด์„œ ๋•…์„ ๊ตฌ๋งคํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” ์•„๋ฌด๊ฒƒ๋„ ๊ตฌ๋งคํ•˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ๊ฒŒ์ž„์„ ๊ณ„์† ์ง„ํ–‰ํ•œ๋‹ค.
ํ™ฉ๊ธˆ ์—ด์‡ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ข…๋ฅ˜๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.
์€ํ–‰์—์„œ ๋ˆ ๋ฐ›๊ธฐ
์€ํ–‰์— ๋ˆ ์ฃผ๊ธฐ
์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ์— ๋ˆ ๊ธฐ๋ถ€ํ•˜๊ธฐ
ํŠน์ • ์นธ์œผ๋กœ ์ด๋™
ํ™ฉ๊ธˆ ์—ด์‡ ์—์„œ ํŠน์ • ์นธ์œผ๋กœ ์ด๋™ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ
ํ•ญ์ƒ ์ •๋ฐฉํ–ฅ($1$ → $2$ → $3$ → ...)์œผ๋กœ ์ด๋™ํ•œ๋‹ค.
์ด๋™ํ•˜๋Š” ๋™์•ˆ ์ง€๋‚˜์น˜๋Š” ์นธ์—์„œ๋Š” ์•„๋ฌด ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค.
์ด๋™ํ•˜๊ณ  ๋‚˜์„œ ํŠน์ • ์นธ์—์„œ ์ผ์–ด๋‚˜์•ผ ํ•  ์ผ๋“ค(๋•… ๊ตฌ๋งค, ์šฐ์ฃผ์—ฌํ–‰ ๋“ฑ)์ด ๊ทธ๋Œ€๋กœ ์ผ์–ด๋‚จ์— ์œ ์˜ํ•ด์•ผ ํ•œ๋‹ค.
์‹œ์ž‘ ์นธ์„ ์ง€๋‚˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์›”๊ธ‰๋„ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
ํ™ฉ๊ธˆ ์—ด์‡ ๋กœ ์ธํ•ด์„œ ํ™ฉ๊ธˆ ์—ด์‡  ์นธ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†์Œ์ด ๋ณด์žฅ๋œ๋‹ค.
๋ชจ๋“  ํ„ด์ด ์ง€๋‚ฌ์„ ๋•Œ ๊ตฌ๋งคํ•˜์ง€ ์•Š์€ ๋„์‹œ ์นธ์ด ๋‚จ์•„ ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์œ ํ‹ธ์ด ์Šน๋ฆฌํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ํŒจ๋ฐฐํ•œ๋‹ค.
ํ™ฉ๊ธˆ ์—ด์‡ ์—์„œ ๋ˆ์„ ์ง€๋ถˆํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋ถ€ํ•ด์•ผ ํ•˜๋Š”๋ฐ ํ˜„๊ธˆ์ด ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ, ์œ ํ‹ธ์ด ํŒจ๋ฐฐํ•œ๋‹ค. ๋„์‹œ ์นธ์˜ ๋•…์„ ๋ชจ๋‘ ๊ตฌ๋งคํ–ˆ๋”๋ผ๋„ ๋ชจ๋“  ํ„ด์ด ์ง€๋‚˜๊ธฐ ์ „์— ํ˜„๊ธˆ์ด ๋ถ€์กฑํ•˜๋ฉด ํŒจ๋ฐฐํ•  ์ˆ˜ ์žˆ์Œ์„ ์œ ์˜ํ•˜๋ผ.

๊ฐ ์นธ์— ๋Œ€ํ•œ ์ •๋ณด์™€ ํ™ฉ๊ธˆ ์—ด์‡  ๋ฆฌ์ŠคํŠธ๋Š”, ๊ฒŒ์ž„ ์‹œ์ž‘ ์‹œ์ ์— ์ฃผ์–ด์ง€๊ณ , ์ •ํ™•ํžˆ ๊ทธ ์ˆœ์„œ๋Œ€๋กœ ๋ฝ‘ํžˆ๊ฒŒ ๋œ๋‹ค. ๋ชจ๋“  ํ™ฉ๊ธˆ ์—ด์‡ ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ์—๋Š” ๋ฆฌ์ŠคํŠธ์˜ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋ฝ‘๊ฒŒ ๋œ๋‹ค.

 

 

๐Ÿ“์ž…๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ๋ณด๋“œ์˜ ํฌ๊ธฐ $n$, ์‹œ์ž‘ ์‹œ ๊ฐ€์ง€๋Š” ๋ˆ $S$, ์‹œ์ž‘์ ์„ ์ง€๋‚˜๋ฉด ๋ฐ›๊ฒŒ ๋˜๋Š” ์›”๊ธ‰ $W$, ํ™ฉ๊ธˆ ์—ด์‡  ์นด๋“œ์˜ ๊ฐœ์ˆ˜ $G$๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (3≤$n$≤10, 1≤$G$≤$4n−8$, 1≤$S$ ≤ $10^{7}$)
๊ทธ๋‹ค์Œ $G$๊ฐœ์˜ ์ค„์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ™ฉ๊ธˆ ์—ด์‡  ์นด๋“œ์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋จผ์ € ์ž…๋ ฅ๋˜๋Š” ์นด๋“œ์ผ์ˆ˜๋ก ๋จผ์ € ๋ฝ‘ํžˆ๊ฒŒ ๋œ๋‹ค. (1≤$x$≤$10^{7}$, 1≤$y$≤$4n−5$)

1 $x$: ์€ํ–‰์—์„œ $x$์›์„ ๋ฐ›๋Š”๋‹ค.
2 $x$: ์€ํ–‰์— $x$์›์„ ์ค€๋‹ค.
3 $x$: ์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ์— $x$์›์„ ๊ธฐ๋ถ€ํ•œ๋‹ค.
4 $y$: ์•ž์œผ๋กœ $y$์นธ ์ด๋™ํ•œ๋‹ค.

๊ทธ๋‹ค์Œ $4n-8$๊ฐœ์˜ ์ค„์—๋Š” ์ฐจ๋ก€๋Œ€๋กœ ํŠน์ˆ˜ ์นธ์ด ์•„๋‹Œ ๊ฒƒ๋“ค์˜ ์ •๋ณด๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค. ํ™ฉ๊ธˆ ์—ด์‡  ์นธ์ด๋ฉด G๊ฐ€, ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” L๊ณผ ๋•… ๊ฐ€๊ฒฉ $p$๊ฐ€ ๊ณต๋ฐฑ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. (1≤$p$≤100 000)
๊ทธ๋‹ค์Œ์œผ๋กœ ๊ฒŒ์ž„์„ ํ•˜๋Š” ๋™์•ˆ ๋˜์ง€๋Š” ์ฃผ์‚ฌ์œ„์˜ ํšŸ์ˆ˜ $I$๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1≤$I$≤60$)
๊ทธ๋‹ค์Œ $I$๊ฐœ์˜ ์ค„์—๋Š” ์ฐจ๋ก€๋Œ€๋กœ ์ฃผ์‚ฌ์œ„ ๋‘ ๊ฐœ์˜ ๋ˆˆ์ด ๊ณต๋ฐฑ์„ ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์‚ฌ์œ„์˜ ๋ˆˆ์€ $1$์—์„œ $6$ ์‚ฌ์ด์ด๋‹ค.

 

๐Ÿ“‘์ถœ๋ ฅ

์œ ํ‹ธ์ด ํ˜ผ์ž ํ•˜๋Š” ๋ถ€๋ฃจ๋งˆ๋ถˆ์—์„œ ์ด๊ฒผ๋‹ค๋ฉด WIN์„, ์กŒ๋‹ค๋ฉด LOSE๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

๐Ÿ“š ๋ฌธ์ œ ํ’€์ด

 

๋นก๊ตฌํ˜„ ๋ฌธ์ œ์ด๋‹ค. 

์ œ 1ํšŒ ์œ ํ‹ธ์ปต์— ์ถœ์ œ๋˜์—ˆ๋˜ ๋ฌธ์ œ์ธ๋ฐ ์ •๋‹ต๋ฅ ์ด ๋ชน์‹œ ๋‚ฎ์•˜๋‹ค. 

 

๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

  • ๋ฌด์ธ๋„์— ๊ฐ‡ํ˜”์„ ๋•Œ
    • 3๋ฒˆ ๋™์•ˆ ์›€์ง์ด์ง€ ๋ชปํ•จ
    • ๋”๋ธ” ๋‚˜์˜ค๋ฉด ํƒˆ์ถœ
  • ๋„์‹œ์— ๋ฐฉ๋ฌธํ–ˆ์„ ๋•Œ
    • ํ•ด๋‹น ๋„์‹œ๋ฅผ ์•„์ง ๊ตฌ๋งคํ•˜์ง€ ์•Š์•˜๊ณ  ๊ฐ€์ง„ ๋ˆ์œผ๋กœ ํ•ด๋‹น ๋„์‹œ๋ฅผ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ -> ๊ตฌ๋งค
  • ์šฐ์ฃผ์—ฌํ–‰์„ ํ•  ๋•Œ
    • ํ˜„์žฌ ์œ„์น˜๋ฅผ ์‹œ์ž‘ ์นธ์œผ๋กœ ์ด๋™ (0)
    • ์›”๊ธ‰ ์ถ”๊ฐ€
  • ์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ ์นธ์— ์™”์„ ๋•Œ
    • ์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ์„ ๋ฐ›๊ณ  ์ดˆ๊ธฐํ™”
  • ํ™ฉ๊ธˆ ์—ด์‡  ์นธ์— ๋„์ฐฉํ–ˆ์„ ๋•Œ
    • 1 x: ์€ํ–‰์— x ๋ฐ›๊ธฐ
    • 2 x: ์€ํ–‰์— x ๋‚ด๊ธฐ
      • ์ด๋•Œ ๊ฐ€์ง„ ๋ˆ์ด x๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ๊ฒŒ์ž„์—์„œ ์ง€๊ฒŒ ๋˜๊ณ  ์ฆ‰์‹œ ์ข…๋ฃŒ
    • 3 x: ์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ x์› ๊ธฐ๋ถ€
      • ์ด๋•Œ ๊ฐ€์ง„ ๋ˆ์ด x๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ๊ฒŒ์ž„์—์„œ ์ง€๊ฒŒ ๋˜๊ณ  ์ฆ‰์‹œ ์ข…๋ฃŒ
    • 4 x: x ์นธ ์•ž์œผ๋กœ ์ด๋™
      • ์ด๋•Œ ๋„์ฐฉํ•œ ์นธ์— ๋”ฐ๋ผ ํ–‰๋™ํ•œ๋‹ค. (ex. ์šฐ์ฃผ์—ฌํ–‰, ๋„์‹œ, ์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ)

 

์ถ”๊ฐ€๋กœ ๊ฐ€์ง„ ํ™ฉ๊ธˆ์—ด์‡  ์นด๋“œ๋ณด๋‹ค ์—ด๊ฒŒ๋˜๋Š” ํšŸ์ˆ˜๊ฐ€ ๋” ๋งŽ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์นด๋“œ ์ธ๋ฑ์Šค๋ฅผ G๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

 

๊ตฌํ˜„ํ•˜๋‹ค๊ฐ€ ์‹ค์ˆ˜ ํ–ˆ๋˜ ๋ถ€๋ถ„์€ n=3, ์ฆ‰ ๋ณด๋“œ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์„ ๋•Œ ์›”๊ธ‰์„ ๋‘๋ฒˆ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค๋Š” ๊ฑธ ๋†“์ณค์—ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์‹œ์ž‘์ ์„ ์ง€๋‚˜๋ฉด ๋ฐ”๋กœ ์›”๊ธ‰์„ ์ค˜์•ผ์ง€ ๋„์ฐฉํ•œ ์นธ์— ์›”๊ธ‰๋ฐ›์€ ๊ฒƒ์œผ๋กœ ๋„์‹œ๋ฅผ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธฐ๋Š”๋ฐ, ๋กœ์ง ๋‹ค ๋๋‚ธ๋‹ค์Œ ์›”๊ธ‰์„ ์ฃผ์–ด์„œ ์ด ๋ถ€๋ถ„๋„ ์‹ค์ˆ˜๊ฐ€ ์žˆ์—ˆ๋‹ค.

๊ทธ๋ž˜๋„ ๋Œ€ํšŒ ์ค‘์— ์•Œ์•„์ฐจ๋ ค์„œ ๋‹คํ–‰์ด๋‹ค:)

 

 

๐Ÿ’ป ์ฝ”๋“œ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
import sys
input = sys.stdin.readline
 
def act_gold_key():
    global key_idx, s, win, cur, social, city, island, bought
 
    if gold_keys[key_idx][0== 1:
        s += gold_keys[key_idx][1]
    
    # ์€ํ–‰์— ์ฃผ๊ธฐ
    elif gold_keys[key_idx][0== 2:
        if s >= gold_keys[key_idx][1]:
            s -= gold_keys[key_idx][1]
        else# ๋ˆ ์ง€๋ถˆ ๋ชปํ•จ
            win = False
    elif gold_keys[key_idx][0== 3:
        if s >= gold_keys[key_idx][1]:
            s -= gold_keys[key_idx][1]
            social += gold_keys[key_idx][1]
        else# ๋ˆ ์ง€๋ถˆ ๋ชปํ•จ
            win = False
    else:
        cur += gold_keys[key_idx][1]
        cur %= n*4-4
        if cur - gold_keys[key_idx][1< 0:
            s += w
        
        if type(board[cur]) == int:
            if board[cur] <= s and not bought[cur]:
                bought[cur] = True
                s -= board[cur]
                city -= 1
        elif board[cur] == "์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ":
            s += social
            social = 0
        elif board[cur] == "์šฐ์ฃผ์—ฌํ–‰":
            # ์‹œ์ž‘์นธ์œผ๋กœ ์ด๋™
            cur = 0
            s += w
        elif board[cur] == "๋ฌด์ธ๋„":
            island = 3
 
    key_idx += 1
    key_idx %= g
 
# ๋ณด๋“œํฌ๊ธฐ, ์‹œ์ž‘ ๋ˆ, ์›”๊ธ‰, ํ™ฉ๊ธˆ์—ด์‡  ๊ฐฏ์ˆ˜
n,s,w,g = map(int,input().split())
 
gold_keys = [list(map(int,input().split())) for _ in range(g)]
key_idx = 0
# ๋„์‹œ ๊ฐœ์ˆ˜
city = 0
cur = 0
bought = dict()
win = True
social = 0
island = 0
 
"""
1 x: x๋ฐ›๊ธฐ
2 x: x๋‚ด๊ธฐ
3 x: ์‚ฌํšŒ๋ณต์ง€ ๊ธฐ๊ธˆ x์› ๊ธฐ๋ถ€
4 x: ์•ž์œผ๋กœ ์ด๋™
"""
 
board = [""]*(4*n-4)
board[0= "์‹œ์ž‘"
board[n-1= "๋ฌด์ธ๋„"
board[2*n-2= "์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ"
board[3*n-3= "์šฐ์ฃผ์—ฌํ–‰"
 
idx = 1
 
while idx<4*n-4:
    tmp = input().rstrip().split()
    if tmp[0== "G":
        board[idx] = "G"
    else:
        city += 1
        bought[idx] = False
        board[idx] = int(int(tmp[1]))
    
    idx += 1
    if idx in {n-12*n-23*n-3}:
        idx += 1
 
cnt = int(input())
for _ in range(cnt):
    one,two = map(int,input().split())
    if island > 0:
        island -= 1
        if one == two: # ํƒˆ์ถœ
            island = 0
        continue
 
    cur += (one+two)
 
    if cur >= n*4-4:
        s += w*(cur//(n*4-4))
 
    cur %= n*4-4
 
 
    if type(board[cur]) == int:
        if board[cur] <= s and not bought[cur]:
            bought[cur] = True
            s -= board[cur]
            city -= 1
 
    # ํ™ฉ๊ธˆ์—ด์‡ 
    elif board[cur] == "G":
        act_gold_key()
        if not win:
            print("LOSE")
            break
    elif board[cur] == "์‚ฌํšŒ๋ณต์ง€๊ธฐ๊ธˆ":
        s += social
        social = 0
    elif board[cur] == "์šฐ์ฃผ์—ฌํ–‰":
        # ์‹œ์ž‘์นธ์œผ๋กœ ์ด๋™
        cur = 0
        s += w
 
    elif board[cur] == "๋ฌด์ธ๋„":
        island = 3
 
else:
    if city:
        print("LOSE")
    else:
        print("WIN")
 
 
cs

 

๐Ÿญ ์‹œํ–‰์ฐฉ์˜ค

 

 

๐Ÿ”— ๋ฌธ์ œ๋งํฌ Every? Only One's Marble

 

28457๋ฒˆ: Every? Only One's Marble

์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ๋ณด๋“œ์˜ ํฌ๊ธฐ $n$, ์‹œ์ž‘ ์‹œ ๊ฐ€์ง€๋Š” ๋ˆ $S$, ์‹œ์ž‘์ ์„ ์ง€๋‚˜๋ฉด ๋ฐ›๊ฒŒ ๋˜๋Š” ์›”๊ธ‰ $W$, ํ™ฉ๊ธˆ ์—ด์‡  ์นด๋“œ์˜ ๊ฐœ์ˆ˜ $G$๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ($3\leq n\leq 10$, $1\leq G\leq 4n-8$, $1\leq S,W\leq 10^7$) ๊ทธ๋‹ค์Œ $G$๊ฐœ์˜

www.acmicpc.net