TLE求助
查看原帖
TLE求助
735763
_ChongYun_楼主2022/10/18 14:27
#include<bits/stdc++.h>
using namespace std;
int n,m,t;
int a[114][514];
bool v[114][514];
int MAX(){
	int sum=INT_MIN;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(v[i][j]!=true){
				sum=max(sum,a[i][j]); 
			}
		}
	}
	return sum;
}
int main(){
	cin>>n>>m>>t;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
	int nexti=0;
	int nextj;
	int cishu=0;
	int huasheng=0;
	while(t!=0)
	
		cishu++;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				int s=MAX();
				if(a[i][j]==s){
					if(cishu==1){
						huasheng+=a[i][j];
						nexti=i,nextj=j;
						t--;
					}else{
						if(max(nexti,i)-min(nexti,i)>max(nextj,j)-min(nextj,j)){
							huasheng+=a[i][j];
							t-=max(nexti,i)-min(nexti,i);
						}else{
							huasheng+=a[i][j];
							t-=max(nextj,j)-min(nextj,j);
						}	
					}	
					v[i][j]=true;		
				}
			}
		}
	cout<<huasheng<<endl;
} 
2022/10/18 14:27
加载中...