Submit | All submissions | Best solutions | Back to list |
SQCOUNT - Square Count |
Little Bobby Roberts, age 8, has been dragged to yet another museum by his parents. While they while away the hours studying Etruscan pottery and Warhol soup cans, Bobby must depend on himself for entertainment. Having a mathematical bent, he recently started counting all the square tiles on the floors of the museum. He soon realized that the tiles could be grouped into larger squares that needed to be added to the count. The problem became a bit more complicated when he started counting squares contained in multiple rooms, since some squares overlapped both rooms. For example, the two rooms shown below contain a total of 86 squares: 45 1 × 1 squares, 28 2 × 2 squares and 13 3 × 3 squares. (Note the opening between the two rooms is only 3 squares wide.)
While this helped kill several days’ worth of museum visits, it soon became rather tedious, so Bobby is now looking for a program to automate the counting process for him.
Input
Input will consist of multiple test cases. The first line of each case will be a positive integer n <= 1000 which will indicate the number of rooms in the museum. After this will be n lines, each containing a description of one room. Each room will be rectangular in shape and will be described by a line of the form
x1 y1 x2 y2
where (x1, y1) and (x2, y2) are opposing corner coordinates (integers) of the room. No two rooms will overlap, though they may share a side. If the shared side is of length m > 2, then a door of length m−2 exists between the two rooms, centered along the shared length. No square of any size will overlap more than two rooms. All x and y values will be <= 1, 000, 000. An input line of n = 0 terminates input and should not be processed.
Output
For each test case, output the total number of squares on a single line in the format shown below. All answers will fit within a 32-bit integer and cases are enumerated starting at 1.
Example
Input: 2 0 0 9 3 10 6 4 3 3 11 20 15 24 11 17 15 20 15 16 20 24 0 Output: Case 1: 86 Case 2: 152
Added by: | Camilo Andrés Varela León |
Date: | 2007-07-26 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ERL JS-RHINO NODEJS PERL6 VB.NET |
Resource: | East Central North America 2005 |
hide comments
2013-06-08 15:10:27 Sandeep Pathry
For all those getting WA again n again... Just check for overflows in your code, costed me 5 WAs... though the ans fits in 32 bit integer... use long long int and check for the test case... Input: 1 0 0 1000000 1000000 Output: Case 1: 333333833333500000 Though this ans exceeds the limit... bt nice test case... helped me finding the bug... |
|
2010-03-02 08:39:10 :D
I'm almost certain that there are errors in test data. Please see this: https://www.spoj.pl/forum/viewtopic.php?f=3&t=6581 |
|
2010-02-14 18:30:26 Pulkit Goyal
Please provide some more test cases!! I am getting WA though my program works fine for above test cases. |