20200817 // 삼성 SW Expert 아카데미 문제 // 10580
2020. 8. 17. 12:32ㆍProgramming/SW Expert Academy
삼성 SW Expert 아카데미 10580번 "전봇대" 문제입니다.
TC = int(input())
ans = []
for tc in range(1, TC + 1):
k = "#"+str(tc) + " "
N = int(input())
count = 0
lst = []
for i in range(N):
a, b = map(int, input().split())
for e in lst:
if (a - e[0]) * (b - e[1]) < 0:
count += 1
lst.append((a,b))
k += str(count)
ans.append(k)
for e in ans:
print(e)
전선을 연결하는 양 쪽 위치를 입력 받고 이미 연결되어있는 전선들의 양 쪽 위치와 비교를 한다. 세 선이 한 점에서
만나는 경우의 수는 없다고 하였으므로 새로 입력받은 위치들에서 기존에 연결되어 있던 위치를 빼서 곱했을 때에
양수일 경우는 교차가 안되었다는 말이고 음수일 경우에는 전선이 교차되어서 교점이 생겼다는 말이므로 교차되었을 때
카운트를 증가시켜주면 총 교점의 개수가 나오게 된다.
'Programming > SW Expert Academy' 카테고리의 다른 글
20210111 // 삼성 SW Expert 아카데미 문제 // 2072 (0) | 2021.01.11 |
---|---|
20200818 // 삼성 SW Expert 아카데미 문제 // 3503 (0) | 2020.08.18 |
20200813 // 삼성 SW Expert 아카데미 문제 // 1238 (0) | 2020.08.13 |
20200811 // 삼성 SW Expert 아카데미 문제 // 1493 (0) | 2020.08.11 |
20200810 // 삼성 SW Expert 아카데미 문제 // 6019 (0) | 2020.08.10 |