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를 둘 다 만족하는 해를 찾는게 연립방정식을 푸는거다. 저기 미적분 붙으면 공포겠구만 아주...
아, 깜빡한 게 있다. 위에 너는 이과 오지 말아라... 근데 문과도 수학 쓰는 전공이 있습니다. 경제학과라던가... 그러니까 문제에 있는 수현이는 연립일차방정식도 귀찮아서 코딩하는 정도고 본인이 앞으로도 수학을 공부할 의지가 없다면 경제학과 가도 피똥싼다. 농담 아니고 저동네 미적 쓴다니까?
백준 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 |