求助大佬
  • 板块题目总版
  • 楼主Q612Asteroid
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/3/28 17:10
  • 上次更新2023/11/5 01:26:11
查看原帖
求助大佬
477027
Q612Asteroid楼主2021/3/28 17:10

题目

#include <bits/stdc++.h>
using namespace std;
int horse,other,ans;
int h1[1000],o1[1000],h2[1000],o2[1000],o3[1000];
int a[1000][1000];
void eat(int x,int y){
	if (a[x][y-1]==0){
		if (a[x-1][y-2]==1){
			ans++;
		}
		if (a[x+1][y-2]==1){
			ans++;
		}
	}
	if (a[x][y+1]==0){
		if (a[x-1][y+2]==1){
			ans++;
		}
		if (a[x+1][y+2]==1){
			ans++;
		}
	}
	
	
	if (a[x-1][y]==0){
		if (a[x-2][y-1]==1){
			ans++;
		}
		if (a[x-2][y+1]==1){
			ans++;
		}
	}
	if (a[x+1][y]==0){
		if (a[x+2][y-1]==1){
			ans++;
		}
		if (a[x+2][y+1]==1){
			ans++;
		}
	}
}
int main(){
	cin>>horse;
	for (int i=1;i<=horse;i++){
		cin>>h1[i]>>h2[i];
		a[h1[i]][h2[i]]=0;
	}
	cin>>other;
	for (int i=1;i<=other;i++){
		cin>>o1[i]>>o2[i]>>o3[i];
		if (o3[i]==1) a[o1[i]][o2[i]]=1;
		if (o3[i]==0) a[o1[i]][o2[i]]=2;
	}
	for (int i=1;i<=horse;i++){
		eat(h1[i],h2[i]);
	}
	cout<<ans;
	return 0;
}

2021/3/28 17:10
加载中...