CCF 20191202 回收站选址--map+vector

map遍历死循环了就换成了vector,不太明白为啥,不过vector用着也挺顺手的。

下面展示一些 内联代码片

#include<iostream>
#include<vector>
#include<map>
using namespace std;
map<pair<int,int>,int> mp;
vector<pair<int,int>> v;
int n,x,y,score[5];
int main(){
	cin>>n;
	for(int i=0;i<n;i++){
		v.push_back(make_pair(x,y));
		cin>>x>>y;
		mp[make_pair(x,y)]=1;
	}
	for(auto it=v.begin();it!=v.end();it++){
		x=it->first;
		y=it->second;
		if(mp[make_pair(x+1,y)]==1&&mp[make_pair(x-1,y)]==1&&mp[make_pair(x,y+1)]==1&&mp[make_pair(x,y-1)]==1){
			int t=0;
			if(mp[make_pair(x+1,y+1)]==1){
				t++;
			}
			if(mp[make_pair(x+1,y-1)]==1){
			    t++;
			}
			if(mp[make_pair(x-1,y+1)]==1){
			   	t++;
			}
			if(mp[make_pair(x-1,y-1)]==1){
	        	t++;
			}
			score[t]++;
		}
	}
	for(int i=0;i<5;i++)cout<<score[i]<<endl;
	return 0;
}
发布了3 篇原创文章 · 获赞 0 · 访问量 112

猜你喜欢

转载自blog.csdn.net/qq_26873647/article/details/104045763