티스토리 뷰
반응형
    
    
    
  문제:www.acmicpc.net/problem/1707
1707번: 이분 그래프
입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V(1≤V≤20,000)와 간선의 개수
www.acmicpc.net
이 문제는 처음에 문제 자체를 이해 못한 것이 컸다. 문제를 이해해도 어떻게 풀어야 할 지 막막해서 결국 다른 분들의 코드를 참조했다.
from collections import deque
import sys
input = sys.stdin.readline
k = int(input())
def bfs(start):
    bi[start] = 1
    q = deque()
    q.append(start)
    while q:
        a = q.popleft()
        for i in s[a]:
            if bi[i] == 0:
                bi[i] = -bi[a]
                q.append(i)
            else:
                if bi[i] == bi[a]:
                    return False
    return True
for i in range(k):
    v, e = map(int, input().split())
    isTrue = True
    s = [[] for i in range(v + 1)]
    bi = [0 for i in range(v + 1)]
    for j in range(e):
        a, b = map(int, input().split())
        s[a].append(b)
        s[b].append(a)
    for y in range(1, v + 1):
        if bi[y] == 0:
            if not bfs(y):
                isTrue = False
                break
    print("YES"if isTrue else "NO")
참조:https://pacific-ocean.tistory.com/349
[백준] 1707번(python 파이썬)
문제 링크: https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째
pacific-ocean.tistory.com


위의 그림들은 문제에 있는 예시로 표현하였다. 첫 번째 예시 같은 경우에는 각 정점마다 같은 값을 가진 정점이 없으므로 "YES"를 출력할 수 있지만 두번 째 예시의 경우에는 3번째 정점에서 4번째 정점과 같은 값을 가져서 False를 발생시키고 "NO"를 출력한다.
이렇게 각 점을 방문하여 확인하면 이분 그래프를 만들 수 있다.
반응형
    
    
    
  '알고리즘 > 백준' 카테고리의 다른 글
| 16929번 Two Dots 백준 파이썬 (0) | 2020.12.11 | 
|---|---|
| 16947번 서울 지하철 2호선 백준 파이썬 (0) | 2020.12.11 | 
| 14391번 종이조각 백준 파이썬 (3) | 2020.12.09 | 
| 부분수열의 합 1182번 백준 (0) | 2020.12.09 | 
| 링크와 스타트 15661번 백준 (0) | 2020.12.08 | 
반응형
    
    
    
  
                      공지사항
                      
                  
                
                  
                  
                    최근에 올라온 글
                    
                
                  
                  
                    최근에 달린 댓글
                    
                
                  
                  - Total
 
- Today
 
- Yesterday
 
                    링크
                    
                
                  
                  
                    TAG
                    
                
                  
                  - 프로그래머스
 - 면접
 - 알고리즘
 - BFS
 - Pattern
 - Collections
 - DRF
 - docker
 - django
 - 백준
 - Linux
 - Spring
 - env
 - setattr
 - 카카오
 - Command Line
 - ubuntu
 - PostgreSQL
 - dockerignore
 - docker-compose
 - thread
 - Python
 - Celery
 - 파이썬
 - 2021 KAKAO BLIND RECRUITMENT
 - Java
 - postgres
 - 그래프
 - headers
 - 자바
 
| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
                    글 보관함