90分求助
查看原帖
90分求助
1086605
orrshcaet楼主2024/8/25 14:17

第七点没过

#include<bits/stdc++.h>
using namespace std;

int n,m,i,j,ii,jj;
long long ans;
int main(){
	cin>>n>>i>>j;
	m=min(min(n-i,n-j),min(i-1,j-1));
//	cout<<m<<endl;
	for(int o=1;o<=m;o++){
		ans+=4*(n+1-2*o);
	}
//	cout<<ans<<endl;
	ii=i-m;
	jj=j-m;
//	cout<<ii<<endl<<jj<<endl;
	if(i==1) {
		ans=ans+jj;
	}else if(jj==n-2*m){
		ans=ans+n-m*2+ii-1;
	}else if(jj==1){
		ans=ans+(n-m*2-1)*4-ii+1+1;
	}else{
		ans=ans+(n-m*2-1)*3-jj+1+1;
	}
	
	cout<<ans;
	return 0;
}

用了逐层拆开最后根据所处边来解题

2024/8/25 14:17
加载中...