1

myhemu 2020-11-07 10:52:52 5 返回题目

#include<bits/stdc++.h> using namespace std; int m,n,k,a[25][25],maxn=0,p=0,ii,jj,pp,s=0; int main() { cin>>m>>n>>k; for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { cin>>a[i][j]; } } for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(a[i][j]!=0) { if(a[i][j]>maxn) { maxn=a[i][j]; } } } } for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(a[i][j]==maxn) { p+=i; a[i][j]=0; ii=i; jj=j;
} } } if(2p+1>k)
{ cout<<"0"; return 0; } else if(2
p+1==k) { cout<<maxn; return 0; } else { p++; pp=p;
s+=maxn; } while(pp!=k) { maxn=0; for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(a[i][j]!=0) { if(a[i][j]>maxn) { maxn=a[i][j]; } } } } for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { if(a[i][j]==maxn) { p+=abs(i-ii)+abs(j-jj);
a[i][j]=0;
ii=i; jj=j; } } } if(ii+p+1>k) { cout<<s; return 0; } else if(ii+p+1==k) { cout<<s+maxn;
return 0; } else { p++; pp=p; s+=maxn; } } return 0; }

{{ vote && vote.total.up }}