80pts TLE求助
查看原帖
80pts TLE求助
714084
NightStriker楼主2022/10/21 15:01

我们教练刚刚结束的模拟赛T4(然而没有按照难度排序所以真实难度T2)

赛时代码 80pts 求助 /kk

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[503][503];
int t,n;
ll ans1,val2;
ll count(int x,int y){
	int maxx=n;
	ll ans=0;
	for(int i=x;i<=n;i++){
		int j=y;
		if(a[i][y]==-1) return ans;
		while(j<=maxx&&a[i][j]!=-1){j++;ans++;}
		maxx=j-1;
	}
	return ans;
}
void clear(){
    for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]==0) a[i][j]=-1;
		}
	}
}
ll work(){
    ll ans=0;
    for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			ans+=count(i,j);
		}
	}
	return ans;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
            cin>>t;
			if(t>100) a[i][j]=1;
			if(t<100) a[i][j]=-1;
		}
    }
    ans1 = work();
	clear();
	ans2 = work();
	cout<<ans1-ans2<<endl;
	return 0;
	 
}
2022/10/21 15:01
加载中...