728x90
n=int(input())
for i in range(n):
m=list(input())
su=0
for i in m:
if i=="(":
su+=1
elif i==")":
su-=1
if su<0:
print("NO")
break
if su ==0:
print("YES")
elif su>0:
print("NO")
import sys
board = [list(map(int, input().split())) for _ in range(9)]
zeros = [(i, j) for i in range(9) for j in range(9) if board[i][j] == 0]
def get_possibles(r, c):
possibles = set(range(1, 10))
possibles -= set(board[r])
test = set()
for i in range(9):
test.add(board[i][c])
possibles -= test
test = set()
for i in range(r//3*3, r//3*3+3):
for j in range(c//3*3, c//3*3+3):
test.add(board[i][j])
possibles -= test
return tuple(possibles)
def solve(i):
if i == len(zeros):
[print(*row) for row in board]
sys.exit()
r, c = zeros[i]
possibles = get_possibles(r, c)
for num in possibles:
board[r][c] = num
solve(i+1)
board[r][c] = 0
solve(0)
n = int(input())
words= []
for _ in range(n):
word = input()
words.append(word)
first_word = [0 for i in range(32)]
ans = 0
for i in range(len(words)):
word = [0 for j in range(32)]
if i ==0 :
for c in words[i]:
first_word[ord(c)%65] += 1
else:
for c in words[i]:
word[ord(c)%65] += 1
if ''.join(str(word)) == ''.join(str(first_word)):
ans +=1
continue;
for j in range(32):
if word[j] >=1:
word[j] -= 1
if ''.join(str(word)) == ''.join(str(first_word)):
ans +=1
continue
word[j] +=1
for j in range(32):
word[j] += 1
if ''.join(str(word)) == ''.join(str(first_word)):
ans +=1
continue
word[j] -=1
for j in range(32):
if word[j] >= 1:
word[j] -= 1
for k in range(32):
if k != j:
word[k] +=1
if ''.join(str(word)) == ''.join(str(first_word)):
ans +=1
continue
word[k] -=1
word[j] +=1 print(ans)
from collections import deque
m,n=map(int,input().split())
visited = [[0 for _ in range(100)] for _ in range(100)]
picture =[[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]]
dy = [1,-1,0,0]
dx = [0,0,1,-1]
def bfs(pixel,y,x):
cnt=0
q=deque()
q.append((y,x))
while q:
fy,fx=q.popleft()
for i in range(4):
gy,gx=fy+dy[i],fx+dx[i]
if 0<=gy<m and 0<=gx<n:
if picture[gy][gx]==pixel and visited[gy][gx]!=1:
cnt+=1
visited[gy][gx]=1
q.append((gy,gx))
return cnt
def solution(m,n,picture):
number_of_area=0
max_size_of_one_area=0
take=[]
for i in range(m):
for j in range(n):
if visited[i][j]!=1 and picture[i][j]!=0:
max_size_of_one_area=max(bfs(picture[i][j],i,j),max_size_of_one_area)
number_of_area+=1
return number_of_area,max_size_of_one_area
print(solution(m,n,picture))
'EDOC > 2022-1학기' 카테고리의 다른 글
2022/03/02 (0) | 2022.05.08 |
---|