Pro.ID22179 TitleCity Road Title链接http://10.20.2.8/oj/exercise/problem?problem_id=22179 AC1 Submit1 Ratio100.00% 时间&空间限制描述Long long ago, city Old was all around the water and was divided into M × N small square houses. The city Old had only two bridges, in the southwest comer and northeast comer. It's obvious that the citizens can have C( m+n, n ) different ways with shortest length, to go from one bridge to the other. As the city developed, bigger buildings came out and blocked some streets. These new buildings were always large rectangles combining many small houses. Since the new buildings may affect the number of shortest ways a lot, it’s you job now to recalculate the number. The city has M rows and N columns of houses, M+1 horizontal streets, and N+1 vertical streets. Suppose the house in the southwest comer is (1, 1), then the house in the northeast comer can be marked as (m, n). And then each new building can be described by its southwest comer(house) and its size(number of houses) in horizontal and vertical directions. The picture below shows that the city Old has 5×6 houses and one 3×2 building with its southwest comer located at (2, 4). The number of different shortest ways in the picture is 192. 输入This problem has multiple test cases. In each test case, the first line is two integer m, n ( m×n ≤ 1,000,000 ) which indicate the size of city Old, in vertical and horizontal directions respectively. And the second line has one integer B ( B ≤ 1000 ) what is the number of the new buildings. After that there are B lines. Each line has four integers x, y, a, b, describing the southwest comer (x, y), the vertical size a, and the horizontal size b of the building. The buildings may be overlapped with each other. The input is terminated by a case with m×n=0, which should not be processed. 输出Description Long long ago, city Old was all around the water and was divided into M × N small square houses. The city Old had only two bridges, in the southwest comer and northeast comer. It's obvious that the citizens can have C( m+n, n ) different ways with shortest length, to go from one bridge to the other. As the city developed, bigger buildings came out and blocked some streets. These new buildings were always large rectangles combining many small houses. Since the new buildings may affect the number of shortest ways a lot, it’s you job now to recalculate the number. The city has M rows and N columns of houses, M+1 horizontal streets, and N+1 vertical streets. Suppose the house in the southwest comer is (1, 1), then the house in the northeast comer can be marked as (m, n). And then each new building can be described by its southwest comer(house) and its size(number of houses) in horizontal and vertical directions. The picture below shows that the city Old has 5×6 houses and one 3×2 building with its southwest comer located at (2, 4). The number of different shortest ways in the picture is 192. Input This problem has multiple test cases. In each test case, the first line is two integer m, n ( m×n ≤ 1,000,000 ) which indicate the size of city Old, in vertical and horizontal directions respectively. And the second line has one integer B ( B ≤ 1000 ) what is the number of the new buildings. After that there are B lines. Each line has four integers x, y, a, b, describing the southwest comer (x, y), the vertical size a, and the horizontal size b of the building. The buildings may be overlapped with each other. The input is terminated by a case with m×n=0, which should not be processed. Output For each test case output one integer representing the number of shortest ways in a single line. This number is guaranteed to be less than 263. Sample Input 5 6 Sample Output 192 Source 样例输入5 6 样例输出192 提示作者 |