Codeforces Round #112 (Div. 2)---A. Supercentral Point
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output
One day Vasya painted a Cartesian coordinate system on a piece of paper and marked some set of points?(x1,?y1),?(x2,?y2),?...,?(xn,?yn). Let's define neighbors for some fixed point from the given set?(x,?y):
- point?(x',?y')?is?(x,?y)'s right neighbor, if?x'?>?x?and?y'?=?y
- point?(x',?y')?is?(x,?y)'s left neighbor, if?x'?<?x?and?y'?=?y
- point?(x',?y')?is?(x,?y)'s lower neighbor, if?x'?=?x?and?y'?<?y
- point?(x',?y')?is?(x,?y)'s upper neighbor, if?x'?=?x?and?y'?>?y
We'll consider point?(x,?y)?from the given set supercentral, if it has at least one upper, at least one lower, at least one left and at least one right neighbor among this set's points.
Vasya marked quite many points on the paper. Analyzing the picture manually is rather a challenge, so Vasya asked you to help him. Your task is to find the number of supercentral points in the given set.
InputThe first input line contains the only integer?n?(1?≤?n?≤?200) — the number of points in the given set. Next?n?lines contain the coordinates of the points written as "x?y" (without the quotes) (|x|,?|y|?≤?1000), all coordinates are integers. The numbers in the line are separated by exactly one space. It is guaranteed that all points are different.
OutputPrint the only number — the number of supercentral points of the given set.
Sample test(s) input 8 1 1 4 2 3 1 1 2 0 2 0 1 1 0 1 3 output 2 input 5 0 0 0 1 1 0 0 -1 -1 0 output 1 NoteIn the first sample the supercentral points are only points?(1,?1)?and?(1,?2).
In the second sample there is one supercental point — point?(0,?0).
解題思路:沒什么說的。直接暴力搞了。
遍歷每一個點,看是否符合要求。為了省時間,我們能夠在輸入的時候把x的上限,下限,和y的上限和下限先記錄一下,在推斷每一個點的時候會用到。
AC代碼:
#include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> #include <vector> #include <queue> #include <set> #include <map> #include <string> #include <math.h> #include <stdlib.h> #include <time.h> using namespace std; #define INF 0x7fffffffint x[205], y[205], a[2005][2005];int main() {#ifdef sxkfreopen("in.txt","r",stdin);#endifint n, xx, yy, xxx, yyy, flag0, flag1, flag2, flag3;while(scanf("%d",&n)!=EOF){memset(a, 0, sizeof(a));xx = yy = -12345;xxx= yyy = 12345;for(int i=0; i<n; i++){scanf("%d%d", &x[i], &y[i]);x[i] += 1000; y[i] += 1000;a[x[i]][y[i]] = 1;if(xx < x[i]) xx = x[i]; //紀錄x。y范圍if(xxx > x[i]) xxx = x[i];if(yy < y[i]) yy = y[i];if(yyy > y[i]) yyy = y[i];}int ans = 0;for(int i=0; i<n; i++){flag0 = flag1 = flag2 = flag3 = 0;for(int j=x[i]+1; j<=xx; j++){ //推斷if( a[j][ y[i] ] ){flag0 = 1;break;}} if(flag0){ for(int j=xxx; j<x[i]; j++){if( a[j][ y[i] ] ){flag1 = 1;break;}}if(flag1){for(int j=y[i]+1; j<=yy; j++){if( a[x[i]][j] ){flag2 = 1;break;}}if(flag2){for(int j=yyy; j<y[i]; j++){if( a[x[i]][j] ){flag3 = 1;break;}}}}}if(flag3) ans ++;}printf("%d\n", ans);}return 0; }總結
以上是生活随笔為你收集整理的Codeforces Round #112 (Div. 2)---A. Supercentral Point的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到白色的鞋子什么寓意
- 下一篇: 梦到洗鱼什么意思