求助!可以优化嘛
查看原帖
求助!可以优化嘛
241984
Kira_Kano楼主2023/6/12 21:43
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m,k,ans=0;
	cin>>n>>m>>k;
	int plat[n+4][n+4];
	for(int i=0;i<=n+3;i++){
		for(int j=0;j<=n+3;j++){
			plat[i][j]=0;
		}
	}
	for(int i=1;i<=m;i++){
		int h,l;
		cin>>h>>l;
		h++,l++;
		plat[h-2][l]=1;
		plat[h-1][l-1]=1;
		plat[h-1][l]=1;
		plat[h-1][l+1]=1;
		plat[h][l-2]=1;
		plat[h][l-1]=1;
		plat[h][l]=1;
		plat[h][l+1]=1;
		plat[h][l+2]=1;
		plat[h+1][l-1]=1;
		plat[h+1][l]=1;
		plat[h+1][l+1]=1;
		plat[h+2][l]=1;
	}
	for(int i=1;i<=k;i++){
		int h,l;
		cin>>h>>l;
		h++,l++;
		plat[h-2][l-2]=1;
		plat[h-2][l-1]=1;
		plat[h-2][l]=1;
		plat[h-2][l+1]=1;
		plat[h-2][l+2]=1;
		plat[h-1][l-2]=1;
		plat[h-1][l-1]=1;
		plat[h-1][l]=1;
		plat[h-1][l+1]=1;
		plat[h-1][l+2]=1;
		plat[h][l-2]=1;
		plat[h][l-1]=1;
		plat[h][l]=1;
		plat[h][l+1]=1;
		plat[h][l+2]=1;
		plat[h+1][l-2]=1;
		plat[h+1][l-1]=1;
		plat[h+1][l]=1;
		plat[h+1][l+1]=1;
		plat[h+1][l+2]=1;
		plat[h+2][l-2]=1;
		plat[h+2][l-1]=1;
		plat[h+2][l]=1;
		plat[h+2][l+1]=1;
		plat[h+2][l+2]=1;
	}
	for(int i=2;i<=n+1;i++){
		for(int j=2;j<=n+1;j++){
			if(plat[i][j]==0) ans++;
		}
	} 
	cout<<ans;
}

本蒟蒻的代码,虽然AC了,但是总觉得看上去太繁琐。 有大佬知道这题怎么优化代码嘛?

(楼主不太常来洛谷,如果长时间未回答请耐心等待,蟹蟹!)

2023/6/12 21:43
加载中...