POLENT09 - Polenta frita
Astrogildo adora polenta frita. Sendo assim, várias vezes ao mês ele encomenda uma bandeja de polenta pronta; ele só precisa cortar e fritar os pedaços. Um dia, ele estava muito empolgado e assim que a bandeja chegou começou a fazer um grande corte com uma faca, da seguinte forma:
• ele começa o corte em um determinado ponto da bandeja;
• em seguida, ele alternadamente faz cortes horizontais e verticais na bandeja;
• os cortes podem se cruzar, mas não se sobrepor;
• cada corte depois do primeiro começa no final do corte anterior; o último corte termina no começo do primeiro corte.
Astrogildo só quer fritar pedaços de polenta se estes forem perfeitamente retangulares, e notou que após o corte diversos pedaços não possuíam esse formato. Por exemplo, na bandeja abaixo, somente os pedaços B, C e E poderiam ser fritos; os demais devem ser descartados ou usados para preparar polenta assada. Note que combinando os pedaços C, D e E obtemos um retângulo, mas os cortes realizados farão com que o pedaço se desmanche na frigideira.
Tarefa
Escreva um programa que, dada a descrição dos cortes feitos por Astrogildo, determina quantos pedaços de polenta podem ser fritos.
Entrada
A entrada contém um único conjunto de testes, que deve ser lido do dispositivo de entrada padrão (normalmente o teclado). A primeira linha da entrada contém um número inteiro N, indicando o número de cortes feitos por Astrogildo (4 ≤ N ≤ 103). Cada uma das N linhas seguintes descreve um corte. A i-ésima linha contém dois números inteiros X e Y , separados por um espaço em branco, indicando as coordenadas do começo do i-ésimo corte (0 ≤ X ≤ 104 e 0 ≤ Y ≤ 104).
Saída
Seu programa deve imprimir, na saída padrão, uma única linha contendo o número de pedaços de polenta que podem ser fritos (isto é, são perfeitamente retangulares).
Exemplo
Entrada: 6 0 0 1 0 1 3 2 3 2 1 0 1 Saída: 2
Entrada: 16 1 7 2 7 2 4 6 4 6 8 8 8 8 2 3 2 3 5 9 5 9 3 11 3 11 1 5 1 5 3 1 3 Saída: 3
Added by: | Wanderley Guimarăes |
Date: | 2012-07-13 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |
Resource: | Seletiva IOI 2009 |