试题编号: | 201912-2 |
试题名称: | 回收站选址 |
时间限制: | 1.0s |
内存限制: | 512.0MB |
问题描述: |
#include<iostream>
using namespace std;
typedef struct Node{
int x,y;
int up,down,left,right;
int score;
}Node;
int main(){
Node node[1400];//不知道为什么至少是1400才满分,题目说明1<=n<=1000
int res[5]={0};
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>node[i].x>>node[i].y;
node[i].score=0;
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(node[j].x==node[i].x+1 && node[j].y==node[i].y)node[i].right=1;
if(node[j].x==node[i].x-1 && node[j].y==node[i].y)node[i].left=1;
if(node[j].x==node[i].x && node[j].y==node[i].y+1)node[i].up=1;
if(node[j].x==node[i].x && node[j].y==node[i].y-1)node[i].down=1;
if(node[j].x==node[i].x+1 && node[j].y==node[i].y+1)node[i].score++;
if(node[j].x==node[i].x+1 && node[j].y==node[i].y-1)node[i].score++;
if(node[j].x==node[i].x-1 && node[j].y==node[i].y-1)node[i].score++;
if(node[j].x==node[i].x-1 && node[j].y==node[i].y+1)node[i].score++;
}
if(node[i].up==1 && node[i].down==1 && node[i].left==1 && node[i].right==1){
res[node[i].score]++;
}
}
for(int i=0;i<5;i++)cout<<res[i]<<endl;
}
更多相关CCF的试题解答,请点击>>CCF历年认证考试解答