#737
더하기와 빼기
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%
문제
지안이는 예전에 마당의 격자판에 을 뜻하는 + 또는 을 뜻하는 -를 하나씩 그려 넣었다.
시간이 흘러 색이 바랬고, 지안이는 이제 일부 칸의 값만 기억한다. 하지만 지안이는 원래 격자판에 대해 다음과 같은 한 가지 중요한 사실을 기억하고 있다.
모든 행과 모든 열에 대해, 임의의 연속된 부분 구간의 합은 항상 이상 이하()였다.
예를 들어, 어떤 행의 값이 + - - +인 경우를 생각해보자. 이 경우 부분 구간 + [ - - ] +의 합이 이므로 조건을 만족하지 않는다.
반면, 행의 값이 - + + -인 경우에는 다음과 같이 조건을 만족한다.
[ - ] + + -합 =[ - + ] + -합 =[ - + + ] -합 =[ - + + - ]합 =- [ + ] + -합 =- [ + + ] -합 =- [ + + - ]합 =- + [ + ] -합 =- + [ + - ]합 =- + + [ - ]합 =
지안이의 기억과 일치하는 서로 다른 격자판의 개수를 구하시오.
입력
첫째 줄에 독립적인 테스트 케이스의 개수 가 주어진다. ()
각 테스트 케이스의 첫째 줄에는 격자의 행 개수 , 열 개수 , 그리고 지안이가 기억하는 칸의 개수 가 공백으로 구분되어 주어진다. (; )
이어지는 개의 줄에는 문자 와 두 정수 가 공백으로 구분되어 주어진다. (; ) 이는 행 열의 값이 임을 의미한다. 한 테스트 케이스 내에서 동일한 쌍이 두 번 이상 주어지지 않음이 보장된다.
또한, 모든 테스트 케이스에 대해 의 합과 의 합은 각각 을 초과하지 않으며, 의 합은 를 초과하지 않음이 보장된다.
출력
각 테스트 케이스마다 지안이의 기억과 일치하는 격자판의 개수를 한 줄에 하나씩 출력한다.
예제 입력 1
2
1 3 3
+ 1 3
+ 1 1
- 1 2
1 3 3
+ 1 1
+ 1 3
+ 1 2
예제 출력 1
1
0
예제 입력 2
1
2 2 0
예제 출력 2
7
점수
- 테스트 케이스 3-4: 모든 테스트 케이스에 대해
- 테스트 케이스 5-6: 모든 테스트 케이스에 대해
- 테스트 케이스 7-11:
- 테스트 케이스 12-14:
- 테스트 케이스 15-22: 추가적인 제약 조건 없음.
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.