编程介的小学生 2017-07-24 09:55 采纳率: 20.5%
浏览 716
已采纳

Rhombs

An unbounded triangular grid is a plane covered by equilateral triangles:

Two neighboring triangles in the grid form a rhomb. There are 3 types of such rhombs:

A grid polygon is a simple polygon which sides consist entirely of sides of triangles in the grid. We say that a grid polygon is rhombastic if it can be partitioned into internally disjoint rhombs of types A, B and C.

As an example let's consider the following grid hexagon:

This hexagon can be partitioned into 4 rhombs of type A, 4 rhombs of type B and 4 rhombs of type C:

For a given rhombastic grid polygon P compute the numbers of rhombs of types A, B and C in some correct partition.

Write a program that:

reads a description of a rhombastic grid polygon from the standard input,

computes the numbers of rhombs of types A, B and C in some correct partition of the polygon,

writes the results to the standard output.

Input

The first line of the input contains an integer n (3 <= n <= 50 000) - the number of sides of a rhombastic grid polygon. Each of the next n lines contains a description of one side of the polygon. The sides are given one by one in the clockwise order. No two consecutive sides of the polygon lie on the same straight line. The description of a side consists of two integers d and k. Integer d says what is the direction of the side according to the following figure:

Integer k is the length of the polygon side measured in the number of sides of grid triangles. Sum of all numbers k is not larger than 100 000.

Process to the end of file.

Output

The first and only line of the output contains three integers separated by single spaces denoting the number of rhombs of type A, B and C respectively, in some partition of the input polygon.

Sample Input

6
1 2
2 2
3 2
4 2
5 2
6 2

Sample Output

4 4 4

  • 写回答

1条回答 默认 最新

  • devmiao 2017-08-12 14:57
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器