diff --git "a/tgyuuAn/DP/\354\204\261\353\203\245\352\260\234\353\271\204.py" "b/tgyuuAn/DP/\354\204\261\353\203\245\352\260\234\353\271\204.py" new file mode 100644 index 00000000..aa38c6c2 --- /dev/null +++ "b/tgyuuAn/DP/\354\204\261\353\203\245\352\260\234\353\271\204.py" @@ -0,0 +1,78 @@ +import sys + +def input(): return sys.stdin.readline().rstrip() + +T = int(input()) +for _ in range(T): + count = int(input()) + DP = [[str(int(1e17)), "0"] for _ in range(count+1)] + DP[0][0] = "0" + + for now_idx in range(count): + if now_idx + 2 <= count: + if int(DP[now_idx + 2][0]) > int(DP[now_idx][0] + "1"): + DP[now_idx + 2][0] = DP[now_idx][0] + "1" + + if int(DP[now_idx + 2][1]) < int(DP[now_idx][1] + "1"): + DP[now_idx + 2][1] = DP[now_idx][1] + "1" + + if now_idx + 3 <= count: + if int(DP[now_idx + 3][0]) > int(DP[now_idx][0] + "7"): + DP[now_idx + 3][0] = DP[now_idx][0] + "7" + + if int(DP[now_idx + 3][1]) < int(DP[now_idx][1] + "7"): + DP[now_idx + 3][1] = DP[now_idx][1] + "7" + + if now_idx + 4 <= count: + if int(DP[now_idx + 4][0]) > int(DP[now_idx][0] + "4"): + DP[now_idx + 4][0] = DP[now_idx][0] + "4" + + if int(DP[now_idx + 4][1]) < int(DP[now_idx][1] + "4"): + DP[now_idx + 4][1] = DP[now_idx][1] + "4" + + if now_idx + 5 <= count: + if int(DP[now_idx + 5][0]) > int(DP[now_idx][0] + "3"): + DP[now_idx + 5][0] = DP[now_idx][0] + "3" + + if int(DP[now_idx + 5][1]) < int(DP[now_idx][1] + "3"): + DP[now_idx + 5][1] = DP[now_idx][1] + "3" + + if int(DP[now_idx + 5][0]) > int(DP[now_idx][0] + "2"): + DP[now_idx + 5][0] = DP[now_idx][0] + "2" + + if int(DP[now_idx + 5][1]) < int(DP[now_idx][1] + "2"): + DP[now_idx + 5][1] = DP[now_idx][1] + "2" + + if int(DP[now_idx + 5][0]) > int(DP[now_idx][0] + "5"): + DP[now_idx + 5][0] = DP[now_idx][0] + "5" + + if int(DP[now_idx + 5][1]) < int(DP[now_idx][1] + "5"): + DP[now_idx + 5][1] = DP[now_idx][1] + "5" + + if now_idx + 6 <= count: + if int(DP[now_idx + 6][0]) > int(DP[now_idx][0] + "6"): + DP[now_idx + 6][0] = DP[now_idx][0] + "6" + + if int(DP[now_idx + 6][1]) < int(DP[now_idx][1] + "6"): + DP[now_idx + 6][1] = DP[now_idx][1] + "6" + + if int(DP[now_idx + 6][0]) > int(DP[now_idx][0] + "9"): + DP[now_idx + 6][0] = DP[now_idx][0] + "9" + + if int(DP[now_idx + 6][1]) < int(DP[now_idx][1] + "9"): + DP[now_idx + 6][1] = DP[now_idx][1] + "9" + + if int(DP[now_idx][0]) != 0 and int(DP[now_idx + 6][0]) > int(DP[now_idx][0] + "0"): + DP[now_idx + 6][0] = DP[now_idx][0] + "0" + + if int(DP[now_idx][0]) != 0 and int(DP[now_idx + 6][1]) < int(DP[now_idx][1] + "0"): + DP[now_idx + 6][1] = DP[now_idx][1] + "0" + + if now_idx + 7 <= count: + if int(DP[now_idx + 7][0]) > int(DP[now_idx][0] + "8"): + DP[now_idx + 7][0] = DP[now_idx][0] + "8" + + if int(DP[now_idx + 7][1]) < int(DP[now_idx][1] + "8"): + DP[now_idx + 7][1] = DP[now_idx][1] + "8" + + print(int(DP[-1][0]), int(DP[-1][1])) \ No newline at end of file diff --git a/tgyuuAn/README.md b/tgyuuAn/README.md index 6378e0b7..7789f035 100644 --- a/tgyuuAn/README.md +++ b/tgyuuAn/README.md @@ -67,9 +67,11 @@ | 60차시 | 2024.06.07 | 그리디 | 불 끄기 | https://github.com/AlgoLeadMe/AlgoLeadMe-1/pull/209 | 61차시 | 2024.06.20 | 크루스칼 | 우주신과의 교감 | https://github.com/AlgoLeadMe/AlgoLeadMe-1/pull/212 | 62차시 | 2024.07.01 | DP | 우수 마을 | https://github.com/AlgoLeadMe/AlgoLeadMe-1/pull/214 +| 63차시 | 2024.07.08 | BFS | 로고 | https://github.com/AlgoLeadMe/AlgoLeadMe-1/pull/216 | 62차시 | 2024.07.01 | DP | 우수 마을 | https://github.com/AlgoLeadMe/AlgoLeadMse-1/pull/214 | 63차시 | 2024.07.08 | BFS | 로고 | https://github.com/AlgoLeadMe/AlgoLeadMe-1/pull/216 | 64차시 | 2024.07.12 | 최소 공통 조상 | K진 트리 | https://github.com/AlgoLeadMe/AlgoLeadMe-1/pull/217 | 65차시 | 2024.07.19 | 최소 공통 조상 | 가장 가까운 공통 조상 | https://github.com/AlgoLeadMe/AlgoLeadMe-1/pull/220 | 66차시 | 2024.07.22 | DP | 로봇 조종하기 | https://github.com/AlgoLeadMe/AlgoLeadMe-1/pull/222 +| 67차시 | 2024.07.26 | DP | 성냥개비 | https://github.com/AlgoLeadMe/AlgoLeadMe-1/pull/223 ---