sta = []
t = True
a = input()
b = input()
if a != b :
if len(a) < len(b) :
t = False
if len(a)==len(b):
for i in range(len(a)):
if int(a[i]) > int(b[i]) :
t = True
break
elif int(a[i]) < int(b[i]) :
t = False
break
if len(a) > len(b) or t == True :
for i in range(len(a)) :
sta.append(int(a[i]))
sta = sta[::-1]
b = b[::-1]
for i in range(len(b)) :
if sta[i] < int(b[i]) :
sta[i] += 10
sta[i + 1] -= 1
sta[i] -= int(b[i])
else:
for i in range(len(b)) :
sta.append(int(b[i]))
sta = sta[::-1]
a = a[::-1]
for i in range(len(a)) :
if sta[i] < int(a[i]) :
sta[i] += 10
sta[i + 1] -= 1
sta[i] -= int(a[i])
for i in range(len(sta)):
if sta[-1] == 0 :
sta.pop()
sta = sta[::-1]
if t == False:
print('-', end='')
for i in range(len(sta)) :
print(sta[i], end='')
else :
print(0)
'''
'''
queue = []
num = int(input())
for i in range(num) :
cmd = input().split()
if cmd[0] == 'push(' :
queue.append(int(cmd[1]))
elif cmd[0] == 'front()' :
if len(queue) == 0:
print(-1)
else:
print(queue[0])
elif cmd[0] == 'back()' :
if len(queue) == 0 :
print(-1)
else :
print(queue[-1])
elif cmd[0] == 'pop()' :
if len(queue) != 0:
queue.pop(0)
elif cmd[0] == 'size()' :
print(len(queue))
elif cmd[0] == 'empty()' :
if len(queue) == 0:
print('true')
else:
print('false')
a = [1, 2,3 ,43 ]
# a.pop(0)
del a[0]
print(a)
'''
# python에서 정렬할때는
# a.sort() , reverse()
'''
정렬 알고리즘
code easy but slow -> 걷기, 자전거, 버스 -> 버블, 선택, 삽입
code hard but fast -> 비행기, ktx, 제트기 -> 퀵, 기수, 병합, 힙 ,,,
'''
'''
l = []
num = int(input())
for i in range(num) :
n = int(input())
l.append(n)
for i in range(len(l)) :
m = i
for j in range(i, len(l)) :
if l[j] < l[m]:
m = j
l[i], l[m] = l[m], l[i]
for i in range(len(l)):
print(l[i])
1 | 3 2 5 4
1 3 | 2 5 4
1 2 3 | 5 4
1 2 3 5 | 4
1 2 3 4 5
'''
'''
num = int(input())
l = []
a = []
for i in range(num) :
n = int(input())
l.append(n)
a.append(l[0])
for i in range(1, len(l)) :
c = 0
for j in range(len(a)-1, -1, -1) :
if l[i] > a[j] :
a.insert(j+1, l[i])
c += 1
break
if c == 0 :
a.insert(0, l[i])
for i in range(len(a)) :
print(a[i])
'''
'''
num = int(input())
l = list(map(int, input().split()))
# l = []
#
# for i in range(num) :
# n = int(input())
# l.append(n)
for j in range(len(l)) :
count = 0
for i in range(len(l)-j-1) :
if l[i] > l[i+1] :
l[i], l[i+1] = l[i+1], l[i]
count += 1
if count == 0 :
print(j)
break
# for i in range(len(l)):
# print(l[i])
자료구조
스택 ㅇ큐ㅇ, 정렬ㅇ, 이진탐색
dfsㅇ / bfs
up down 게임
1 ~500 사이의 숫자
before 순차탐색
1. 1
2. 2
3. 3
...
500. 500
after 이진탐색 ( 탐색 범위를 줄여나가는거 )
1. 250
2. 125
3. 62
4. 31
5. 15
6. 7
7. 3
8. 2
9. 1
s .,... mid ...... e
'''
# 0, 4,
'''
def bs(k1, k2, m, c) :
global k
if m[c] == k[(k1+k2)//2] :
return (k1+k2)//2
elif k1>=k2:
return -2
elif m[c] < k[(k1+k2)//2] :
return bs(k1, (k1+k2)//2-1, m, c)
elif m[c] > k[(k1+k2)//2]:
return bs((k1+k2)//2+1, k2, m, c)
n = int(input())
k = list(map(int, input().split()))
o = int(input())
m = list(map(int, input().split()))
c = 0
for i in range(o) :
print(bs(0, len(k)-1, m, c)+1, end=' ')
c += 1
'''
'''
def d_f(k, n1, n2) :
global num
if k <= num[(n1+n2)//2] and k > num[(n1+n2)//2-1]:
return (n1+n2)//2
elif min(num) > k :
return 0
elif max(num) < k :
return len(num)
elif k > num[(n1+n2)//2] :
return d_f(k, (n1+n2)//2+1, n2)
elif k < num[(n1+n2)//2] :
return d_f(k, n1, (n1+n2)//2-1)
return 0
n, k = map(int, input().split())
num = list(map(int, input().split()))
print(d_f(k, 0, len(num)-1)+1)
'''
def dfs1(x, y) :
global l, M, N, c1
l[x][y] = 1
if y < N-1 :
dfs1(x, y+1)
if x < M-1 :
dfs1(x+1, y)
if y > 0 :
dfs1(x, y-1)
if x > 0 :
dfs1(x-1, y)
c1 += 1
print(c1)
def dfs2(x, y):
global l, M, N, c2
if q[x][y] == 1:
q[x][y] = 0
if y < N-1 :
dfs2(x, y+1)
if x < M-1 :
dfs2(x+1, y)
if y > 0 :
dfs2(x, y-1)
if x > 0 :
dfs2(x-1, y)
c2 += 1
print(c2)
M, N = map(int, input().split())
c2 = 0
c1 = 0
l = []
q = []
for i in range(M) :
p = list(map(int, input().split()))
l.append(p)
q.append(p)
dfs1(0, 0)
dfs2(0, 0)
print(c1)
print(c2)
top of page

실제 작동 상태를 확인하려면 라이브 사이트로 이동하세요.
dasfasf
dasfasf
댓글 0개
좋아요
댓글(0)
bottom of page