제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

128
5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 풀이 풀이입니다.

Upload: sun-young-kim

Post on 08-Apr-2017

923 views

Category:

Education


1 download

TRANSCRIPT

Page 1: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

제5회 전국대학생프로그래밍동아리연합 여름대회 풀이

풀이입니다.

Page 2: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

통계

• A  -­  Dr.  L's  exam  • 출제자:  정현환  • First  solve:  DPneuDP  @서울대  ,  3분  • 정답률:  68/87,  78.161%  

• B  –뱀• 출제자:  이태현  • First  solve:  Mola Mola @서울대 ,  112분• 정답률:  12/141,  8.511%

• C  – 사전 조사• 출제자:  박수찬  • First  solve:  DPneuDP@서울대 ,  226분• 정답률:  3/35  8.571%

Page 3: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

통계

• D  – Bulb• 출제자:  윤지학  • First  solve:  Mola Mola @서울대 ,  231분• 정답률:  3/8,  37.500%

• E  -­ How  many  binary  sequences?• 출제자:  정현환  • First  solve:  gcc @서울대 ,  94분• 정답률:  11/41,  26.829%

• F  -­ Speak  your  mind!• 출제자:  조승현  (bryan)  • First  solve:  NonsanWarrior @서울대 ,  31분• 정답률:  22/103,  21.359%

Page 4: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

• G  –내가어디를 거쳐갔더라?  • 출제자:  조승현  (ainta)  • 정답률:  0/0,  0.000%

• H  -­프로도의 선물 포장• 출제자:  김선영  • First  solve:  LifeIsNotThatEasy @서울대 ,  24분• 정답률:  36/107, 33.645%

• I  – International  Meeting• 출제자:  김선영  • First  solve:  Jungrae10002gija   @한양대 ,  7분• 정답률:  55/255,  21.569%

통계

Page 5: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

• J  –분할  • 출제자:  김경근  • First  solve:  gcc @서울대 ,  140분• 정답률:  7/61,  11.475%

• K  -­ The  festival  must  go  on  • 출제자:  조승현  (ainta)  • First  solve:  Mola Mola @서울대 ,  242분• 정답률:  2/8,  25.000%

• L  -­ 수열의  장인  • 출제자:  박수찬  • First  solve:  Accepted  @고려대 ,  23분• 정답률:  25/317,  7.886%

통계

Page 6: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

A.  Dr.  L’s  exam

𝒋 1 2 3 4 5 6 7 8 9 10𝒋 − 𝟏  𝐦𝐨𝐝  𝟓 1 2 3 4 5 1 2 3 4 5

Page 7: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

A.  Dr.  L’s  exam

• 제출한 답안이 “1  2  3  4  5  1  2  3  4  5”이면재시험 대상

𝒋 1 2 3 4 5 6 7 8 9 10𝒋 − 𝟏  𝐦𝐨𝐝  𝟓 1 2 3 4 5 1 2 3 4 5

Page 8: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

A.  Dr.  L’s  exam

• 제출한 답안이 “1  2  3  4  5  1  2  3  4  5”이면재시험 대상• 한줄을 통째로 받아서문자열 비교하면 편합니다

𝒋 1 2 3 4 5 6 7 8 9 10𝒋 − 𝟏  𝐦𝐨𝐝  𝟓 1 2 3 4 5 1 2 3 4 5

Page 9: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

B.  뱀

• 뱀의 경로는이어지는 선분들이라 생각 가능

Page 10: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

B.  뱀

• 뱀의 경로는이어지는 선분들이라 생각 가능

• 수평 혹은수직으로 이루어진 선분들사이의 교차 문제

Page 11: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

B.  뱀

• 뱀의 경로는이어지는 선분들이라 생각 가능

• 수평 혹은수직으로 이루어진 선분들사이의 교차 문제

• 어느 교점까지 몇초가걸릴 지계산하자

Page 12: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

B.  뱀

• 뱀의 경로는이어지는 선분들이라 생각 가능

• 수평 혹은수직으로 이루어진 선분들사이의 교차 문제

• 어느 교점까지 몇초가걸릴 지계산하자• 그선분전까지의∑ 𝑡 𝑖 +  교점을구하고선분의시작점부터거리

Page 13: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

B.  뱀

• 뱀의 경로는이어지는 선분들이라 생각 가능

• 수평 혹은수직으로 이루어진 선분들사이의 교차 문제

• 어느 교점까지 몇초가걸릴 지계산하자• 그선분전까지의∑ 𝑡 𝑖 +  교점을구하고선분의시작점부터거리

• 𝑁 ≤ 1,000이므로 𝑂 𝑁2 에해결 가능

Page 14: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

B.  뱀

• 뱀의 경로는이어지는 선분들이라 생각 가능

• 수평 혹은수직으로 이루어진 선분들사이의 교차 문제

• 어느 교점까지 몇초가걸릴 지계산하자• 그선분전까지의∑ 𝑡 𝑖 +  교점을구하고선분의시작점부터거리

• 𝑁 ≤ 1,000이므로 𝑂 𝑁2 에해결 가능

• 𝐿 ≤ 104 → 지나온격자들을 다저장하면 Memory  Limit  Exceeded

Page 15: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 𝐴는언제 찾을수있을까?

Page 16: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 𝐴는언제 찾을수있을까?

⋯ ,𝐴,⋯

Page 17: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 𝐴는언제 찾을수있을까?

⋯ ,𝐴,⋯

𝐴를 읽기전에얼마인지 알수 없다

Page 18: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 𝐴는언제 찾을수있을까?

⋯ ,𝐴,⋯

𝐴를 읽기전에얼마인지 알수 없다

, 𝐴 − 1 ,⋯𝐴−1이 나와야할 자리에안 나왔다면,  알수 있다

Page 19: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 𝐴는언제 찾을수있을까?

⋯ ,𝐴,⋯

𝐴를 읽기전에얼마인지 알수 없다

, 𝐴 − 1 ,⋯𝐴−1이 나와야할 자리에안 나왔다면,  알수 있다

사전에서𝐴가나타난이후

사전에서𝐴 − 1이있어야할곳을

지난이후

Page 20: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 𝐵는언제 찾을수있을까?

Page 21: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 𝐵는언제 찾을수있을까?

⋯ ,𝐵,⋯

𝐵를 읽기전에얼마인지 알수 없다

, 𝐵 + 1 ,⋯𝐵+ 1이 나와야할 자리에안 나왔다면,  알수 있다

사전에서𝐵가나타난이후

사전에서𝐵 + 1이있어야할곳을

지난이후

Page 22: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사• 𝐵는언제 찾을수있을까?

⋯ ,𝐵,⋯

𝐵를 읽기전에얼마인지 알수 없다

, 𝐵 + 1 ,⋯𝐵+ 1이 나와야할 자리에안 나왔다면,  알수 있다

사전에서𝐵가나타난이후

사전에서𝐵 + 1이있어야할곳을

지난이후

• 𝐴는언제 찾을수있을까?

⋯ ,𝐴,⋯

𝐴를 읽기전에얼마인지 알수 없다

, 𝐴 − 1 ,⋯𝐴−1이 나와야할 자리에안 나왔다면,  알수 있다

사전에서𝐴가나타난이후

사전에서𝐴 − 1이있어야할곳을

지난이후

Page 23: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사• 𝐵는언제 찾을수있을까?

⋯ ,𝐵,⋯

𝐵를 읽기전에얼마인지 알수 없다

, 𝐵 + 1 ,⋯𝐵+ 1이 나와야할 자리에안 나왔다면,  알수 있다

사전에서𝑩가나타난이후

사전에서𝑩 + 𝟏이있어야할곳을

지난이후

• 𝐴는언제 찾을수있을까?

⋯ ,𝐴,⋯

𝐴를 읽기전에얼마인지 알수 없다

, 𝐴 − 1 ,⋯𝐴−1이 나와야할 자리에안 나왔다면,  알수 있다

사전에서𝑨가나타난이후

사전에서𝑨 − 𝟏이있어야할곳을

지난이후

Page 24: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 결론:  사전에서 𝐴,𝐴 − 1,𝐵, 𝐵 + 1이있어야 할위치를 모두지난 순간수찬이는 𝐴, 𝐵를 알아낼수 있다.

Page 25: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 결론:  사전에서 𝐴,𝐴 − 1,𝐵, 𝐵 + 1이있어야 할위치를 모두지난 순간수찬이는 𝐴, 𝐵를 알아낼수 있다.• 바뀐 문제:  𝐴 이상 𝐵 이하의 자연수 중사전순으로 𝑋보다 작거나 같은것의 개수는?

Page 26: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 결론:  사전에서 𝐴,𝐴 − 1,𝐵, 𝐵 + 1이있어야 할위치를 모두지난 순간수찬이는 𝐴, 𝐵를 알아낼수 있다.• 바뀐 문제:  𝐴 이상 𝐵 이하의 자연수 중사전순으로 𝑋보다 작거나 같은것의 개수는?• 더간단히:  1이상 𝑛 이하의 자연수 중사전순으로 𝑋보다작거나 같은것의 개수는?

Page 27: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 더간단히:  1  이상 𝑛 이하의 자연수 중사전순으로 𝑋보다작거나 같은것의 개수는?• 설명하기 어려우니 예를들어봅시다.

Page 28: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 더간단히:  1  이상 𝑛 이하의 자연수 중사전순으로 𝑋보다작거나 같은것의 개수는?• 설명하기 어려우니 예를들어봅시다.• 𝑋 = 5167이라면?

Page 29: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 더간단히:  1  이상 𝑛 이하의 자연수 중사전순으로 𝑋보다작거나 같은것의 개수는?• 설명하기 어려우니 예를들어봅시다.• 𝑋 = 5167이라면?• 1,  2,  3,  4로시작하는모든수: 𝑋보다사전에서앞에있다.

Page 30: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 더간단히:  1  이상 𝑛 이하의 자연수 중사전순으로 𝑋보다작거나 같은것의 개수는?• 설명하기 어려우니 예를들어봅시다.• 𝑋 = 5167이라면?• 1,  2,  3,  4로시작하는모든수: 𝑋보다사전에서앞에있다.• 50으로시작하는모든수:  𝑋보다사전에서앞에있다.

Page 31: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 더간단히:  1  이상 𝑛 이하의 자연수 중사전순으로 𝑋보다작거나 같은것의 개수는?• 설명하기 어려우니 예를들어봅시다.• 𝑋 = 5167이라면?• 1,  2,  3,  4로시작하는모든수: 𝑋보다사전에서앞에있다.• 50으로시작하는모든수:  𝑋보다사전에서앞에있다.• 510,  511,  …,  515로 시작하는모든수:  𝑋보다사전에서앞에있다.

Page 32: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 더간단히:  1  이상 𝑛 이하의 자연수 중사전순으로 𝑋보다작거나 같은것의 개수는?• 설명하기 어려우니 예를들어봅시다.• 𝑋 = 5167이라면?• 1,  2,  3,  4로시작하는모든수: 𝑋보다사전에서앞에있다.• 50으로시작하는모든수:  𝑋보다사전에서앞에있다.• 510,  511,  …,  515로 시작하는모든수:  𝑋보다사전에서앞에있다.• 5160,  5161,  …,  5166로 시작하는모든수:  𝑋보다사전에서앞에있다.

Page 33: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 더간단히:  1  이상 𝑛 이하의 자연수 중사전순으로 𝑋보다작거나 같은것의 개수는?• 설명하기 어려우니 예를들어봅시다.• 𝑋 = 5167이라면?• 1,  2,  3,  4로시작하는모든수: 𝑋보다사전에서앞에있다.• 50으로시작하는모든수:  𝑋보다사전에서앞에있다.• 510,  511,  …,  515로 시작하는모든수:  𝑋보다사전에서앞에있다.• 5160,  5161,  …,  5166로 시작하는모든수:  𝑋보다사전에서앞에있다.• 5167:  𝑋이다.

Page 34: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 더간단히:  1  이상 𝑛 이하의 자연수 중사전순으로 𝑋보다작거나 같은것의 개수는?• 이런 식으로접두사가 𝑝인자연수들 중 1  이상 𝑛 이하인 것의개수를세어 주면됩니다.

Page 35: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

C.  사전 조사

• 더간단히:  1  이상 𝑛 이하의 자연수 중사전순으로 𝑋보다작거나 같은것의 개수는?• 이런 식으로접두사가 𝑝인자연수들 중 1  이상 𝑛 이하인 것의개수를세어 주면됩니다.• 한  테스트  케이스당  𝑂 logEF2 𝑛 에해결 가능합니다.

Page 36: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

D.  Bulb•전선의특징관찰

Page 37: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

D.  Bulb•격자선마다 정점을만들고간선을이어준다•색을칠해준다

Page 38: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

D.  Bulb

q l q *

O O q q

* q l q

Page 39: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

D.  Bulb

Page 40: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

D.  Bulb

Page 41: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

D.  Bulb

Page 42: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

E.  How  many  binary  sequences?• 참고:  원래문제는굉장히어려웠습니다.

Page 43: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

E.  How  many  binary  sequences?• 참고:  원래문제는굉장히어려웠습니다.

2 2 1 0 2 1 2𝒁𝑿𝒀

1

1

1

1

1

1

0

0

1

1

0/1 0/1

1/0 1/0

Page 44: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

E.  How  many  binary  sequences?• 참고:  원래문제는굉장히어려웠습니다.

• 각 𝑍M마다 𝑋,𝑌의후보가 4개생긴다

2 2 1 0 2 1 2𝒁𝑿𝒀

1

1

1

1

1

1

0

0

1

1

0/1 0/1

1/0 1/0

Page 45: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

E.  How  many  binary  sequences?• 참고:  원래문제는굉장히어려웠습니다.

• 각 𝑍M마다 𝑋,𝑌의후보가 4개생긴다• 사실 2개

2 2 1 0 2 1 2𝒁𝑿𝒀

1

1

1

1

1

1

0

0

1

1

0/1 0/1

1/0 1/0

Page 46: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

E.  How  many  binary  sequences?• 참고:  원래문제는굉장히어려웠습니다.

• 각 𝑍M마다 𝑋,𝑌의후보가 4개생긴다• 사실 2개• 𝑋, 𝑌는순서가바뀌어도상관없으므로

2 2 1 0 2 1 2𝒁𝑿𝒀

1

1

1

1

1

1

0

0

1

1

0/1 0/1

1/0 1/0

Page 47: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

E.  How  many  binary  sequences?• 참고:  원래문제는굉장히어려웠습니다.

• 각 𝑍M마다 𝑋,𝑌의후보가 4개생긴다• 사실 2개• 𝑋, 𝑌는순서가바뀌어도상관없으므로

• 그래서모든 2Q개의경우를순회하며답을찾으면된다.

2 2 1 0 2 1 2𝒁𝑿𝒀

1

1

1

1

1

1

0

0

1

1

0/1 0/1

1/0 1/0

Page 48: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

E.  How  many  binary  sequences?• 참고:  원래문제는굉장히어려웠습니다.

• 각 𝑍M마다 𝑋,𝑌의후보가 4개생긴다• 사실 2개• 𝑋, 𝑌는순서가바뀌어도상관없으므로

• 그래서모든 2Q개의경우를순회하며답을찾으면된다.• 유의:  문자열등으로비교하여𝑂 2Q𝐾 로풀면제한시간초과

2 2 1 0 2 1 2𝒁𝑿𝒀

1

1

1

1

1

1

0

0

1

1

0/1 0/1

1/0 1/0

Page 49: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

F.  Speak  your  mind!

• 먼저 입력범위의 모든정수에 대해 답을구합니다

Page 50: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

F.  Speak  your  mind!

• 먼저 입력범위의 모든정수에 대해 답을구합니다• ±2T의경우답은 𝑘 + 1

Page 51: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

F.  Speak  your  mind!

• 먼저 입력범위의 모든정수에 대해 답을구합니다• ±2T의경우답은 𝑘 + 1• 𝑚을 𝑝개의단어로표현할수있다면𝑚 ± 2W의답은 𝑝 + 𝑙 + 5

Page 52: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

F.  Speak  your  mind!

• 먼저 입력범위의 모든정수에 대해 답을구합니다• ±2T의경우답은 𝑘 + 1• 𝑚을 𝑝개의단어로표현할수있다면𝑚 ± 2W의답은 𝑝 + 𝑙 + 5• Dijkstra 비슷하게하면답을구할수있음.  근데다들 DP로풀더라고요..

Page 53: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

F.  Speak  your  mind!

• 먼저 입력범위의 모든정수에 대해 답을구합니다• ±2T의경우답은 𝑘 + 1• 𝑚을 𝑝개의단어로표현할수있다면𝑚 ± 2W의답은 𝑝 + 𝑙 + 5• Dijkstra 비슷하게하면답을구할수있음.  근데다들 DP로풀더라고요..• 0을 표현하는데필요한단어수는 6입니다.

Page 54: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

F.  Speak  your  mind!

• 먼저 입력범위의 모든정수에 대해 답을구합니다• ±2T의경우답은 𝑘 + 1• 𝑚을 𝑝개의단어로표현할수있다면𝑚 ± 2W의답은 𝑝 + 𝑙 + 5• Dijkstra 비슷하게하면답을구할수있음.  근데다들 DP로풀더라고요..• 0을 표현하는데필요한단어수는 6입니다.

• 입력받은 숫자마다 그에대한 답을출력합니다.

Page 55: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

F.  Speak  your  mind!

• 먼저 입력범위의 모든정수에 대해 답을구합니다• ±2T의경우답은 𝑘 + 1• 𝑚을 𝑝개의단어로표현할수있다면𝑚 ± 2W의답은 𝑝 + 𝑙 + 5• Dijkstra 비슷하게하면답을구할수있음.  근데다들 DP로풀더라고요..• 0을 표현하는데필요한단어수는 6입니다.

• 입력받은 숫자마다 그에대한 답을출력합니다.• Shakespeare  Programming  Language는좋은프로그래밍 언어입니다.

Page 56: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

G.  내가 어디를 거쳐갔더라?

• DFS traversal을통해 간선을 tree  edge와 back  edge로 구분 (DFS  tree생성)

Page 57: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

G.  내가 어디를 거쳐갔더라?

• DFS traversal을통해 간선을 tree  edge와 back  edge로 구분 (DFS  tree생성)

• 각노드를 root로하는 subtree를구간으로 표현 가능

Page 58: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

G.  내가 어디를 거쳐갔더라?

• DFS traversal을통해 간선을 tree  edge와 back  edge로 구분 (DFS  tree생성)

• 각노드를 root로하는 subtree를구간으로 표현 가능

• 이를 통해 승현이네 집 u와 민수네 집 v가주어졌을 때,   u와 v가 DFStree에서 서로 조상-­자손 관계인지 아닌지 판단 가능

Page 59: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

1

2

3 4 7

8 9 10

11

5

6

Page 60: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

2의 subtree에도,  5의 subtree에도 포함되지않는 노드는 모두 지날 수 있다.1

2

3 4 7

8 9 10

11

5

6

Page 61: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

1

2

3 4 7

8 9 10

11

5

6

2의 subtree에 있는 노드중에서,  3의 경우 2의조상으로 가는 back edge가 있으므로지날수 있는 정점이다.

11의 경우도 3과 마찬가지로 7의 조상인 5와연결되어 지날수 있는 정점이다.

Page 62: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

1

2

3 4 7

8 9 10

11

5

6

10번 정점을 root로하는subtree에 있는 정점들은 11로갈 수 있으므로가능한 정점이다.

Page 63: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

1

2

3 4 7

8 9 10

11

5

6

그 외 정점들은지나는 것이 불가능함을 알수 있다.

Page 64: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

G.  내가 어디를 거쳐갔더라?

• 각정점에 대해,  자신을 거치지 않고 자신의조상 노드로 갈수없는정점 개수를저장한다.    (u번정점에 대한 이값 : Cnt[u])

• 이는 DFS  traversal을하면서 같이구할 수있다.  (절선 구하기)

Page 65: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

G.  내가 어디를 거쳐갔더라?

• 1.  u와 v가서로 조상 -­자손 관계가 아닐경우• u의 subtree에도 포함되지않고,  v의 subtree에도포함되지않는정점은방문가능

• N  -­ Cnt[u]  +  Cnt[v]가답

Page 66: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

G.  내가 어디를 거쳐갔더라?

• 2.����������� ������������������  u가 v의조상인 경우– v의 subtree 중에서는 Cnt[v]개만큼 방문불가능

u

w

v

Page 67: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

H.  프로도의 선물 포장

• 선물의 배치방법은 크게 두가지

Page 68: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

H.  프로도의 선물 포장

• 선물의 배치방법은 크게 두가지

1.  세 선물 상자를일렬로 놓기2.  한 선물상자 |  다른 두 선물상자

Page 69: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

H.  프로도의 선물 포장

• 선물의 배치방법은 크게 두가지

• 가능한 모든방법을 다돌려봅시다.

1.  세 선물 상자를일렬로 놓기2.  한 선물상자 |  다른 두 선물상자

Page 70: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

H.  프로도의 선물 포장

• 선물의 배치방법은 크게 두가지

• 가능한 모든방법을 다돌려봅시다.§ 90도 회전 2Y가지,  선물순서 3!가지를고려해야합니다

1.  세 선물 상자를일렬로 놓기2.  한 선물상자 |  다른 두 선물상자

Page 71: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

I.  International  meeting

• UTC+𝑥에서 현재 𝑛시라면,  UTC+𝑦에서는 몇시일까?

Page 72: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

I.  International  meeting

• UTC+𝑥에서 현재 𝑛시라면,  UTC+𝑦에서는 몇시일까?• UTC+0에서 𝑛 − 𝑥시

Page 73: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

I.  International  meeting

• UTC+𝑥에서 현재 𝑛시라면,  UTC+𝑦에서는 몇시일까?• UTC+0에서 𝑛 − 𝑥시• UTC+𝑦에서 𝑛 − 𝑥 + 𝑦시

Page 74: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

I.  International  meeting

• UTC+𝑥에서 현재 𝑛시라면,  UTC+𝑦에서는 몇시일까?• UTC+0에서 𝑛 − 𝑥시• UTC+𝑦에서 𝑛 − 𝑥 + 𝑦시

• 따라서 𝑛 − 𝑥 + 𝑦를구해서 잘출력합니다.

Page 75: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

I.  International  meeting

• UTC+𝑥에서 현재 𝑛시라면,  UTC+𝑦에서는 몇시일까?• UTC+0에서 𝑛 − 𝑥시• UTC+𝑦에서 𝑛 − 𝑥 + 𝑦시

• 따라서 𝑛 − 𝑥 + 𝑦를구해서 잘출력합니다.• 하지만 우리에게는 0.5가남았다!

Page 76: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

I.  International  meeting

• UTC+𝑥에서 현재 𝑛시라면,  UTC+𝑦에서는 몇시일까?• UTC+0에서 𝑛 − 𝑥시• UTC+𝑦에서 𝑛 − 𝑥 + 𝑦시

• 따라서 𝑛 − 𝑥 + 𝑦를구해서 잘출력합니다.• 하지만 우리에게는 0.5가남았다!• 0.5시 =  30분

Page 77: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

I.  International  meeting

• UTC+𝑥에서 현재 𝑛시라면,  UTC+𝑦에서는 몇시일까?• UTC+0에서 𝑛 − 𝑥시• UTC+𝑦에서 𝑛 − 𝑥 + 𝑦시

• 따라서 𝑛 − 𝑥 + 𝑦를구해서 잘출력합니다.• 하지만 우리에게는 0.5가남았다!• 0.5시 =  30분• 역시잘출력합니다.

Page 78: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

• 한 차원만 생각하면

Depth 0 : 14

Page 79: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

• 한 차원만 생각하면

Depth 0 : 14Depth 1 : 7 7

Page 80: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

• 한 차원만 생각하면

Depth 0 : 14Depth 1 : 7 7Depth 2 : 3 4 3 4

Page 81: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

• 한 차원만 생각하면

Depth 0 : 14Depth 1 : 7 7Depth 2 : 3 3 4 4

Page 82: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

• 한 차원만 생각하면

Depth 0 : 14Depth 1 : 7 7Depth 2 : 3 3 4 4Depth 3 : 1 2 1 2 2 2 2 2

Page 83: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

• 한 차원만 생각하면

Depth 0 : 14Depth 1 : 7 7Depth 2 : 3 3 4 4Depth 3 : 1 1 2 2 2 2 2 2

Page 84: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

Depth 0

6

7

Page 85: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

Depth 1

3

3

3

4

Page 86: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

Depth 2 1

1 2 2 2

1

2

2

Page 87: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

Depth 2 1

1 2 2 2

1

2

2

Page 88: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

Depth 2

2 2 2

2

2

Page 89: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

Depth 3

1111

1 1 1 1 1 1

Page 90: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

결과

Page 91: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

J. 분할

• 실제로 할 때는 배열의 크기가 너무 크기 때문에, 같은 depth에

서 1차원 크기의 종류가 두 개 이하, 2차원 배열의 종류는 네 개

이하라는 사실을 이용하여 각 크기에 대해 개수가 몇 개인지 저

장하여 이전 depth에서 다음 depth에 있는 배열 종류와 그 개

수를 저장하여 문제를 해결할 수 있습니다.

Page 92: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?

Page 93: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 있다면?  –최대길이가 𝑙 이상이어도선택가능

Page 94: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 있다면?  –최대길이가 𝑙 이상이어도선택가능• 없다면?  –최대길이가 𝑙 이하여도선택불가능

Page 95: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 있다면?  –최대길이가 𝑙 이상이어도선택가능• 없다면?  –최대길이가 𝑙 이하여도선택불가능• 따라서결정문제로바뀐다

Page 96: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 있다면?  –최대길이가 𝑙 이상이어도선택가능• 없다면?  –최대길이가 𝑙 이하여도선택불가능• 따라서결정문제로바뀐다• 이분탐색(Parametric  Search)을 통해 𝑙의값을정할수있다

Page 97: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

Page 98: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘• 𝑢를루트로하는각서브트리마다,

Page 99: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘• 𝑢를루트로하는각서브트리마다,

§ 최대길이가 𝑙 이하이면서

Page 100: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘• 𝑢를루트로하는각서브트리마다,

§ 최대길이가 𝑙 이하이면서§ 선택하는간선의수를최대화하면서

Page 101: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘• 𝑢를루트로하는각서브트리마다,

§ 최대길이가 𝑙 이하이면서§ 선택하는간선의수를최대화하면서§ 루트에서끝나는선택된간선들로만이루어진경로의최대길이를최소화하는

Page 102: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘• 𝑢를루트로하는각서브트리마다,

§ 최대길이가 𝑙 이하이면서§ 선택하는간선의수를최대화하면서§ 루트에서끝나는선택된간선들로만이루어진경로의최대길이를최소화하는

• 선택방법을찾아낸다.

Page 103: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘• 𝑢를루트로하는각서브트리마다,

§ 최대길이가 𝑙 이하이면서§ 선택하는간선의수를최대화하면서§ 루트에서끝나는선택된간선들로만이루어진경로의최대길이를최소화하는

• 선택방법을찾아낸다.

간선 최대한 많이선택

이 경로의 길이최소화

𝑢

최대 길이 ≤ 𝑙

Page 104: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

Page 105: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

루트가 끝인경로의 길이가 긴 순으로정렬

Page 106: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

Page 107: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

Page 108: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

초록색 경로의길이 ≤ 𝑙이면?-­>  모든보라색 간선 선택가능

Page 109: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

초록색 경로의길이 ≤ 𝑙이면?-­>  모든보라색 간선 선택가능

아니면?

Page 110: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

Page 111: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

Page 112: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

Page 113: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

초록색 경로의길이 ≤ 𝑙이면?-­>  모든보라색 간선 선택가능

Page 114: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

초록색 경로의길이 ≤ 𝑙이면?-­>  모든보라색 간선 선택가능

아니면?

Page 115: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

Page 116: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘

𝑎 𝑏

𝑢

𝑐

Page 117: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘• 이런식으로재귀적으로문제를해결할수있습니다.

Page 118: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘• 이런식으로재귀적으로문제를해결할수있습니다.• 이게왜되는지적고싶은데시간이없네요.

Page 119: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘• 이런식으로재귀적으로문제를해결할수있습니다.• 이게왜되는지적고싶은데시간이없네요.

• 시간복잡도:  𝑂 log길이×𝑁 log𝑁• 이분탐색x  정점수 x  정렬

Page 120: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

K.  The  festival  must  go  on

• 최대 길이가 𝑙일 때 𝑀개의간선을 선택할 수있는가?• 요약:  탐욕알고리즘• 이런식으로재귀적으로문제를해결할수있습니다.• 이게왜되는지적고싶은데시간이없네요.

• 시간복잡도:  𝑂 log길이×𝑁 log𝑁• 이분탐색x  정점수 x  정렬

• 처음만든풀이:  DP를활용한 𝑂 𝑁2 log길이• 이분탐색의아이디어는같고,  냅색같은걸합니다.• 역시설명하고싶으나시간이없습니다.  

Page 121: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

L.  수열의 장인

• 답은 0  이상• 𝑛 ≥ 2이기때문

Page 122: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

L.  수열의 장인

• 답은 0  이상• 𝑛 ≥ 2이기때문

• 곱의 최댓값이 아니라 합의최댓값이었다면?• 𝑇 𝑖 = max 𝑇 𝑖 − 1 ,0 + 𝑎M• (답)  =  max 𝑇 𝑖

Page 123: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

L.  수열의 장인

• 답은 0  이상• 𝑛 ≥ 2이기때문

• 곱의 최댓값이 아니라 합의최댓값이었다면?• 𝑇 𝑖 = max 𝑇 𝑖 − 1 ,0 + 𝑎M• (답)  =  max 𝑇 𝑖

• 곱의 최댓값도 저렇게?• 𝑇 𝑖 = max 𝑇 𝑖 − 1 ,1 ×𝑎M• (답)  =  max 𝑇 𝑖

Page 124: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

L.  수열의 장인

• 답은 0  이상• 𝑛 ≥ 2이기때문

• 곱의 최댓값이 아니라 합의최댓값이었다면?• 𝑇 𝑖 = max 𝑇 𝑖 − 1 ,0 + 𝑎M• (답)  =  max 𝑇 𝑖

• 곱의 최댓값도 저렇게?• 𝑇 𝑖 = max 𝑇 𝑖 − 1 ,1 ×𝑎M• (답)  =  max 𝑇 𝑖• 문제점:   −𝟐𝟐 × −2 > 𝟐× −2

Page 125: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

L.  수열의 장인

• 답은 0  이상• 𝑛 ≥ 2이기때문

• 곱의 최댓값이 아니라 합의최댓값이었다면?• 𝑇 𝑖 = max 𝑇 𝑖 − 1 ,0 + 𝑎M• (답)  =  max 𝑇 𝑖

• 곱의 최댓값도 저렇게?• 𝑇 𝑖 = max 𝑇 𝑖 − 1 ,1 ×𝑎M• (답)  =  max 𝑇 𝑖• 문제점:   −𝟐𝟐 × −2 > 𝟐× −2

• 음수와음수를곱하면더 큰양수가만들어질수있다!

Page 126: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

L.  수열의 장인

• 그러니  최소,최대를  저장하자!

Page 127: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

L.  수열의 장인

• 그러니  최소,최대를  저장하자!• 최소 –음수중절댓값이가장큰것,  최대 –양수중최댓값이가장큰것 ..일가능성있음

Page 128: 제 5회 전국 대학생 프로그래밍 동아리 연합 여름 대회 해설 슬라이드

L.  수열의 장인

• 그러니  최소,최대를  저장하자!• 최소 –음수중절댓값이가장큰것,  최대 –양수중최댓값이가장큰것 ..일가능성있음

• 이후의풀이는다틀렸으므로생략하고언젠가다시올릴게요!