- 백준 19532번 풀이2023년 07월 20일
- Lv. 34 라이츄
- 작성자
- 2023.07.20.:32
문제
https://www.acmicpc.net/problem/19532
연립일차방정식의 해를 찾는 문제. 문제에서는 해가 존재하는 연립일차방정식을 가정한다. (그래서 이 풀이대로 짜면 답이 없을 때 출력이 없음)
풀이
이 문제를 읽은 본인의 심정:
너는 고등학교 이과 선택하지 마라... 연립일차방정식 그거 푸는거 귀찮아서 코딩할 정도면 나중에 삼각함수 미적분 극한은 어쩌려고... 공대가면 미적분방정식도 있고 그 뭐지? 적분기호인데 가운데 동그라미 꼬지해둔 것도 있음. 우리과요? 미적은 안 쓰는데 통계 합니다.
보통은 소거법 가감법 이런걸 쓰는데, 이거 브루트 포스잖아요? 그래서 일일이 넣어보는 개쌉노가다를 해야 합니다... 애초에 백준에서 mpmath를 쓰게 둘 리 없잖아요?
solve 던지면 다 끝날것을...import sys a, b, c, d, e, f = map(int,sys.stdin.readline().split())
일단 양해를 좀 구하고 싶은 게, 백준 문제를 푸는 파이썬 파일은 하나다. 하나 풀고 새로 파일을 만드는 게 아니라(애초에 백준 풀이는 깃헙에 올리지도 않음) 그 파일 안에서 계속 푸는데, 여기에 올리면서는 지웠지만 백준 풀이에는 이전에 점근 표기법 문제 풀 때 달았던 주석이 아직도 남아있다. 주석이니까 문제 푼 건 맞았지.
for x in range(-999, 1000): for y in range(-999, 1000): pass
주제가 브루트포스다. 그리고 범위를 줬으면 무식하게 때려박아보는 게 순리 아니겠음?
import sys a, b, c, d, e, f = map(int,sys.stdin.readline().split()) # 순서대로 a1 a0 for x in range(-999, 1000): for y in range(-999, 1000): if (a * x + b * y == c) and (d * x + e * y == f): print(x, y) break
연립방정식을 풀 때 소거법 가감법 이런걸 왜 하느냐... 변수가 두개라서? 놉. 해가 두 식을 다 만족해야 하기 때문이다. 그니까 ax+by=c와 dx+ey=f를 둘 다 만족하는 해를 찾는게 연립방정식을 푸는거다. 저기 미적분 붙으면 공포겠구만 아주...
아, 깜빡한 게 있다. 위에 너는 이과 오지 말아라... 근데 문과도 수학 쓰는 전공이 있습니다. 경제학과라던가... 그러니까 문제에 있는 수현이는 연립일차방정식도 귀찮아서 코딩하는 정도고 본인이 앞으로도 수학을 공부할 의지가 없다면 경제학과 가도 피똥싼다. 농담 아니고 저동네 미적 쓴다니까?
'BOJ > [BOJ] Python' 카테고리의 다른 글
백준 7785번 풀이 (0) 2023.08.04 백준 14425번 풀이 (0) 2023.07.31 백준 24313번 풀이 (0) 2023.07.17 백준 24267번 풀이 (0) 2023.07.15 백준 24266번 풀이 (0) 2023.07.13 다음글이전글이전 글이 없습니다.댓글