调不出哪错了玄关
  • 板块学术版
  • 楼主canwen
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/6/29 13:14
  • 上次更新2024/6/29 16:16:57
查看原帖
调不出哪错了玄关
1284815
canwen楼主2024/6/29 13:14

题目传送门:P9944

#include<cstdio>
#include<iostream>
using namespace std;
#define ll long long
bool s[1020][1020];
ll n,x,y,ans;
ll f(ll a,ll b){
	if(s[a][b]==0) return 0;
	ll t=0;
	if(a-1>=0&&s[a-1][b]) t++;
	if(b-1>=0&&s[a][b-1]) t++;
	if(a+1<=1001&&s[a+1][b]) t++;
	if(b+1<=1001&&s[a][b+1]) t++;
	return t;
}
int main(){
	//freopen("P9944_9 (1).in","r",stdin);
	//freopen("outx.txt","w",stdout);
	cin>>n;
	for(ll i=1;i<=n;i++){
		cin>>x>>y;
		if(f(x-1,y)==3) ans--;
		if(f(x+1,y)==3) ans--;
		if(f(x,y-1)==3) ans--;
		if(f(x,y+1)==3) ans--;
		if(f(x-1,y)==2) ans++;	
		if(f(x+1,y)==2) ans++;
		if(f(x,y-1)==2) ans++;
		if(f(x,y+1)==2) ans++;
		s[x][y]=true;
		if(f(x,y)==3) ans++;
		cout<<ans<<endl;
	}
	return 0;
}
2024/6/29 13:14
加载中...