코테 대비 python/백준
15973 두 박스
ylab
2022. 8. 11. 10:07
https://www.acmicpc.net/problem/15973
15973번: 두 박스
표준 입력으로 두 박스의 정보가 한 줄에 하나씩 주어진다. 각 박스의 정보는 왼쪽 아래 꼭짓점 좌표 (x1, y1)과 오른쪽 위 꼭짓점 좌표 (x2, y2)로 구성되는데 이들 좌푯값 x1, y1, x2, y2 (x1 < x2, y1 < y2)
www.acmicpc.net
a= list(map(int,input().split()))
b= list(map(int,input().split()))
A1 = (a[0],a[3])
A2 = (a[0],a[1])
A3 = (a[2],a[1])
A4 = (a[2],a[3])
B1 = (b[0],b[3])
B2 = (b[0],b[1])
B3 = (b[2],b[1])
B4 = (b[2],b[3])
A=[A1,A2,A3,A4]
#A_index=[]
B=[B1,B2,B3,B4]
#B_index=[]
###
###점, 선, 면 으로 분할
if ((A[0][0]==B[2][0])&(A[0][1]==B[2][1])) or ((A[1][0]==B[3][0])&(A[1][1]==B[3][1])) or ((A[2][0]==B[0][0])&(A[2][1]==B[0][1]))or((A[3][0]==B[1][0])&(A[3][1]==B[1][1])):
print("POINT")
elif B[3][0]==A[0][0]:
if (B[2][1]<A[0][1])&(B[3][1]>A[1][1]):
print("LINE")
elif B[0][0]==A[3][0]:
if (B[2][1]<A[0][1])&(B[3][1]>A[1][1]):
print("LINE")
elif B[0][1]==A[1][1]:
if (B[2][0]>A[1][0])&(B[0][0]<A[2][0]):
print("LINE")
elif B[1][1]==A[0][1]:
if (B[2][0]>A[1][0])&(B[0][0]<A[2][0]):
print("LINE")
elif (B[3][0]<=A[0][0]) or (A[3][0]<=B[0][0]) or (B[1][1]>=A[0][1]) or (A[1][1]>=B[0][1]) or (((B[0][0]<A[0][0])&(B[0][1]>A[0][1]))&((B[3][0]>A[3][0])&(B[3][1]<A[3][1]))) or (((A[0][0]<B[0][0])&(A[0][1]>B[0][1]))&((A[3][0]>B[3][0])&(A[3][1]<B[3][1]))):
print("NULL")
else:
print("FACE")
어제 올렸어야 했는데ㅜㅜ
와 이렇게 했는데도 33점으로 100점이 안나왔다.
다른사람들이 푼거 보니 현타가.. ㅋㅋㅋ
일주일뒤에 다시풀어봐야겠다.