From be0b5e12bae45a59cc62870e12427315b624f021 Mon Sep 17 00:00:00 2001 From: yenru0 Date: Mon, 25 Mar 2024 19:30:38 +0900 Subject: [PATCH] complete 27323 and aloha bfs(1260, 1697, 14940) --- zeta_cpp/completed/27323.cpp | 10 ++++++++ zeta_python/completed/1260.py | 45 ++++++++++++++++++++++++++++++++++ zeta_python/completed/14940.py | 36 +++++++++++++++++++++++++++ zeta_python/completed/1697.py | 33 +++++++++++++++++++++++++ 4 files changed, 124 insertions(+) create mode 100644 zeta_cpp/completed/27323.cpp create mode 100644 zeta_python/completed/1260.py create mode 100644 zeta_python/completed/14940.py create mode 100644 zeta_python/completed/1697.py diff --git a/zeta_cpp/completed/27323.cpp b/zeta_cpp/completed/27323.cpp new file mode 100644 index 0000000..d52df87 --- /dev/null +++ b/zeta_cpp/completed/27323.cpp @@ -0,0 +1,10 @@ +#include + +using namespace std; + +int main() { + int A, B; + cin >> A >> B; + cout << A * B; + return 0; +} \ No newline at end of file diff --git a/zeta_python/completed/1260.py b/zeta_python/completed/1260.py new file mode 100644 index 0000000..cabaec0 --- /dev/null +++ b/zeta_python/completed/1260.py @@ -0,0 +1,45 @@ +def dfs(N, M, E, V): + D = [] + D.append((V)) + visited = [] + while D: + now = D.pop() + if now in visited: + continue + else: + visited.append(now) + for i in E[now][::-1]: + D.append(i) + + return visited + + +def bfs(N, M, E, V): + D = [] + D.append((V)) + visited = [] + while D: + now = D.pop(0) + if now in visited: + continue + else: + visited.append(now) + for i in E[now]: + D.append(i) + + return visited + + +if __name__ == '__main__': + N, M, V = map(int, input().split()) + E = {} + for i in range(1, N + 1): + E[i] = [] + for i in range(1, M + 1): + a, b = map(int, input().split()) + E[a].append(b) + E[b].append(a) + for i in range(1, N + 1): + E[i].sort() + print(*dfs(N, M, E, V)) + print(*bfs(N, M, E, V)) diff --git a/zeta_python/completed/14940.py b/zeta_python/completed/14940.py new file mode 100644 index 0000000..9f67a82 --- /dev/null +++ b/zeta_python/completed/14940.py @@ -0,0 +1,36 @@ +def solve(N, M, X, dest): + delta = ((-1, 0), (1, 0), (0, 1), (0, -1)) + D = [] + # X = [[-1] * M for _ in range(N)] + + D.append((dest, 0)) + while D: + now, cost = D.pop(0) + if X[now[0]][now[1]] == -1: + X[now[0]][now[1]] = cost + + else: + continue + + for dx, dy in delta: + new = now[0] + dx, now[1] + dy + if 0 <= new[0] < N and 0 <= new[1] < M: + D.append((new, cost + 1)) + return X + + +if __name__ == '__main__': + N, M = map(int, input().split()) + U = [] + X = [[-1] * M for _ in range(N)] + dest: tuple + for i in range(N): + temp = list(map(int, input().split())) + for j, v in enumerate(temp): + if v == 0: + X[i][j] = 0 + elif v == 2: + dest = (i, j) + + for i in solve(N, M, X, dest): + print(*i) diff --git a/zeta_python/completed/1697.py b/zeta_python/completed/1697.py new file mode 100644 index 0000000..70b642c --- /dev/null +++ b/zeta_python/completed/1697.py @@ -0,0 +1,33 @@ +from queue import Queue + + +def solve(N, K): + D = Queue() + M = [0] * 100001 + D.put((N, 0)) + while D: + now, t = D.get() + if now > 100000 or now < 0: + continue + if M[now] == 0: + M[now] = t + elif t > M[now]: + continue + + target = [] + + if now > K: + target.append((now - 1, t + 1)) + elif now == K: + return t + elif now < K: + target.append((2 * now, t + 1)) + target.append((now + 1, t + 1)) + target.append((now - 1, t + 1)) + for temp in target: + D.put(temp) + + +if __name__ == '__main__': + N, K = map(int, input().split()) + print(solve(N, K))