~~省代码宗师~~
by pies_0x @ 2023-10-17 17:04:04
@[em_eemm_eeemmm_](/user/964645) ?
by wangtairan114 @ 2023-10-18 19:40:10
@[wangtairan114](/user/1023189) 13-21行 真的厉害
by pies_0x @ 2023-10-19 16:44:10
@[em_eemm_eeemmm_](/user/964645)
实际上这是压缩版本
```cpp
#include <bits/stdc++.h> //我展开是因为我用的Xcode不支持万能头
using namespace std;
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)>(b)?(b):(a))
#define INF 0x3f3f3f3f
#define f1(tp,l,i,j,k) for(tp l=i;l<=j;l+=k)
#define f2(tp,l,i,j,k) for(tp l=i;l>=j;l-=k)
#define vc(tp,nm) vector<tp> nm;
#define pqg(tp,nm) priority_queue<tp,vector<tp>,greater<tp>> nm;
#define ll long long
#define pql(tp,nm) priority_queue<tp> nm;
#define qq(tp,nm) queue<tp> nm;
#define dq(tp,nm) deque<tp> nm;
#define sc scanf
#define pr printf
#define v1 first
#define v2 second
#define scl(nm) scanf("%lld",&nm)
#define sci(nm) scanf("%d",&nm)
#define prn printf("\n")
#define prl(nm) printf("%lld",nm)
#define pri(nm) printf("%d",nm)
#define prc(nm) printf("%c",nm)
#define clearq(nm,tp) queue<tp> emp;swap(nm,emp);
#define clearpair(nm,f,s) queue<pair<f,s>> emp;swap(nm,emp);
string ssss,sssss;
ll SUM,I,aaaa,Ii,recoff1;
#define sfxto10(x,nm,nm2) ssss=nm;SUM=0;I=1;while(!ssss.empty()){SUM+=int(ssss[ssss.size()-1]-'0')*I; I*=x;ssss.erase(ssss.size()-1,1);}nm2=SUM;
#define sf10tox(x,nm,nm2) aaaa=stol(nm);Ii=1; sssss="";while(Ii*x<=aaaa)Ii*=x; while(aaaa>0){if(Ii<=aaaa){recoff1=aaaa/Ii;aaaa%=Ii;sssss+=char(recoff1+'0');}else{sssss+="0";}Ii/=x;}while(Ii>0){sssss+="0";Ii/=x;}nm2=stol(sssss);
#define fxto10(x,nm,nm2) ssss=to_string(nm);SUM=0;I=1;while(!ssss.empty()){SUM+=int(ssss[ssss.size()-1]-'0')*I; I*=x;ssss.erase(ssss.size()-1,1);}nm2=SUM;
#define f10tox(x,nm,nm2) aaaa=nm;Ii=1; sssss="";while(Ii*x<=aaaa)Ii*=x; while(aaaa>0){if(Ii<=aaaa){recoff1=aaaa/Ii;aaaa%=Ii;sssss+=char(recoff1+'0');}else{sssss+="0";}Ii/=x;}while(Ii>0){sssss+="0";Ii/=x;}nm2=stol(sssss);
//using namespace std;
string rtsans;
#define str string
#define srn(nm1) nm1=rtsans;
#define stransup(nm1) transform(nm1.begin(), nm1.end(), back_inserter(rtsans), ::toupper);srn(nm1);
#define stransdown(nm1) transform(nm1.begin(), nm1.end(), back_inserter(rtsans), ::tolower);srn(nm1);
char rtans;
#define small(nm1) nm1>='a'&&nm1<='z'//used with "if"
#define nsmall(nm1) nm1<'a'||nm1>'z'//used with "if"
#define big(nm1) nm1>='A'&&nm1<='Z'//used with "if"
#define nbig(nm1) nm1<'A'||nm1>'Z'//used with "if"
#define isnum(nm1) nm1>='0'&&nm1<='9'//used with "if"
#define crn(nm1) nm1=rtans;
#define ctransup(nm1) if(small(nm1)){nm1=nm1-32;}
#define ctransdown(nm1) if(big(nm1)){nm1=nm1+32;}
#define bktsdown(nm1)nm1=nm1-26;
#define bktsup(nm1)nm1=nm1+26;
#define move(nm1,nm2) bool ok=0; if(small(nm1))ok=1;rtans=char(int(nm1)+nm2);crn(nm1);if(ok){if(nsmall(nm1)){if(nm2>0){while(nsmall(nm1))bktsdown(nm1);}else {while(nsmall(nm1))bktsup(nm1);}}}else{if(nbig(nm1)){if(nm2>0){while(nbig(nm1))bktsdown(nm1);}else{while(nbig(nm1))bktsup(nm1);}}}
#pragma GCC optimize(3)
int n,m,k,a[25][25];
struct pos{
int num,x,y;
void set(int a1,int a2,int a3)
{
num=a1;
x=a2;
y=a3;
}
pos(){
num=0;
x=0;
y=0;
}
}p[630];
int main()
{
int cnt=0;
sc("%d%d%d",&n,&m,&k);
for(int i=1; i <= n; i++)
{
for(int j=1; j <= m; j++)
{
sc("%d",&a[i][j]);
if(a[i][j]>0)
{
p[++cnt].set(a[i][j],i,j);
}
}
}
sort(p+1,p+cnt+1,[](pos x,pos y){return x.num>y.num;});
int cnt2=0;
pos cur;
cur.set(0,1,p[1].y);
k--;
for(int i=1; i <= n; i++)
{
if(abs(p[i].x-cur.x)+abs(p[i].y-cur.y)+1+p[i].x<=k)
{
cnt2+=p[i].num;
k-=abs(p[i].x-cur.x)+abs(p[i].y-cur.y)+1;
cur=p[i];
}
else
{
cout <<cnt2;
return 0;
}
// cout << k;
}
cout << cnt2;
return 0;
}
```
by wangtairan114 @ 2023-10-19 18:47:48
@[wangtairan114](/user/1023189) **看不懂啊,大佬**
by pies_0x @ 2023-10-20 16:56:05
@[em_eemm_eeemmm_](/user/964645) 恭喜你,是第一个叫我大佬的人(我自称蒟蒻~~不过刚看到红名人士自称蒟蒻~~)
by wangtairan114 @ 2023-10-20 16:57:46
@[wangtairan114](/user/1023189) 真看不懂
by pies_0x @ 2023-10-20 18:18:02
@[em_eemm_eeemmm_](/user/964645) 当我打完这些代码后发现无法按预期运行时,我崩溃了。之后删了大半,留下想要的。
by wangtairan114 @ 2023-10-20 21:02:33