(I2
I145
I4
(dp0
Vsquares.%l
p1
(Vmain.c
p2
S'#include <stdio.h>\r\n#define ZOOM 15\r\n#define MAXN 9\r\n#define MAXC (150*ZOOM)\r\n#define INF 2000000000\r\ntypedef struct{\r\n  int x, y;\r\n}point;\r\n\r\npoint o[MAXN], a[MAXN], b[MAXN], c[MAXN], d[MAXN];\r\n\r\nint sus = -INF, jos = INF, drpt = -INF, stng = INF;\r\n\r\ninline void upd(point p){\r\n  if(sus < p.x)\r\n    sus = p.x;\r\n  if(jos > p.x)\r\n    jos = p.x;\r\n  if(stng > p.y)\r\n    stng = p.y;\r\n  if(drpt < p.y)\r\n    drpt = p.y;\r\n}\r\n\r\ninline void findpts(int i){\r\n  int dx = a[i].x - o[i].x, dy = a[i].y - o[i].y;\r\n  b[i].x = o[i].x - dy;  b[i].y = o[i].y + dx;\r\n  c[i].x = o[i].x - dx;  c[i].y = o[i].y - dy;\r\n  d[i].x = o[i].x + dy;  d[i].y = o[i].y - dx;\r\n}\r\n\r\ninline int aria(point a, point b, point c){\r\n  return a.x * b.y + b.x * c.y + c.x * a.y - a.x * c.y - b.x * a.y - c.x * b.y;\r\n}\r\n\r\nint main(){\r\n  //freopen("squares.in", "r", stdin);\r\n  //freopen("squares.out", "w", stdout);\r\n  int n, i, j;\r\n  scanf("%d", &n);\r\n  for(i = 0; i < n; i++){\r\n    scanf("%d%d%d%d", &o[i].x, &o[i].y, &a[i].x, &a[i].y);\r\n    o[i].x *= ZOOM;  o[i].y *= ZOOM;  a[i].x *= ZOOM;  a[i].y *= ZOOM;\r\n    if(o[i].x == a[i].x && o[i].y == a[i].y){\r\n      i--;\r\n      n--;\r\n    }\r\n    findpts(i);\r\n    upd(a[i]);\r\n    upd(b[i]);\r\n    upd(c[i]);\r\n    upd(d[i]);\r\n  }\r\n  char g1, g2;\r\n  int k, nr1 = 0, nr2 = 0, x, y, z, t;\r\n  point p;\r\n  for(i = jos; i <= sus; i++){\r\n    for(j = stng; j <= drpt; j++){\r\n      p.x = i;\r\n      p.y = j;\r\n      g1 = 0; g2 = 0;\r\n      for(k = 0; k < n; k++){\r\n        x = aria(p, a[k], b[k]);\r\n        y = aria(p, b[k], c[k]);\r\n        z = aria(p, c[k], d[k]);\r\n        t = aria(p, d[k], a[k]);\r\n        if(x >= 0 && y >= 0 && z >= 0 && t >= 0){\r\n          if(x == 0 || y == 0 || z == 0 || t == 0)\r\n            g2 = 1;\r\n          else\r\n            g1 = 1;\r\n        }\r\n      }\r\n      if(g1)\r\n        nr1++;\r\n      else  if(g2)\r\n        nr2++;\r\n    }\r\n  }\r\n  if(nr1 + nr2 / 2 - 1 >= 0)\r\n    printf("%d", (nr1 + nr2 / 2 - 1) / (ZOOM * ZOOM));\r\n  else\r\n    printf("0");\r\n  return 0;\r\n}\r\n'
p3
tp4
stp5
.