[BOJ 35456] 선형 연립 부등식

View as PDF

Submit solution

Points: 2
Time limit: 1.0s
Memory limit: 1G

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

선형 연립 방정식을 마스터했으니 이번엔 선형 연립 부등식을 풀어보자.</p>

일차 다항식과 상수가 부등호로 연결된 부등식을 선형 부등식이라 한다. 즉, 다음과 같은 식을 의미한다.

$Ax + B \le C$

선형 연립 부등식이란 유한개의 선형 부등식의 모임이다. 다음과 같은 부등식의 모임이 선형 연립 부등식의 예이다.

$\begin{cases} x + 6 \le 4 \ -2x + 2 \le 10 \end{cases}$

선형 연립 부등식의 해란 선형 연립 부등식의 모든 부등식이 참이 되게 하는 미지수의 값이다. 선형 연립 부등식이 주어질 때 정수해의 개수를 출력해 보자.

입력 형식

첫 번째 줄에 부등식의 개수 $N$이 주어진다. $(1 \le N \le 100\,000)$</p>

두 번째 줄부터 $N$개의 줄에 걸쳐 한 줄에 하나씩 정수 $A$, $B$, $C$가 공백으로 구분되어 주어진다. $(-10^9 \le A,B,C \le 10^9$; $A\neq 0)$

출력 형식

첫 번째 줄에 선형 연립 부등식의 정수해의 개수를 출력한다.</p>

선형 연립 부등식의 정수해가 무한히 많은 경우 첫 번째 줄에 -1을 대신 출력한다.

예제 입력 1

2
1 6 4
-2 2 10

예제 출력 1

3

예제 입력 2

2
1 6 3
8 3 0

예제 출력 2

-1

예제 입력 3

2
1 0 1
-1 0 -100

예제 출력 3

0

예제 입력 4

2
-1 999999967 999999969
1 999999967 999999969

예제 출력 4

5

Comments

There are no comments at the moment.