poj 1928 <结构体排序>

来源:互联网 发布:202z.com最新域名 编辑:程序博客网 时间:2024/06/02 04:24

题目链接: poj 1928


水一个sort排序


代码:

#include<cstdio>#include<cstring>#include<algorithm>using namespace std; struct node{int x,y,ge;}dian[3000];bool cmp(node xx,node yy){return xx.ge>yy.ge;}int main(){int t;scanf("%d",&t);while (t--){int m,n,k;int kp=0;scanf("%d%d%d",&n,&m,&k);for (int i=1;i<=n;i++)for (int j=1;j<=m;j++){dian[kp].x=i;dian[kp].y=j;scanf("%d",&dian[kp++].ge);}sort(dian,dian+kp,cmp);int xx,yy,ju,s=0;for (int i=0;i<kp;i++){if (i==0){if (dian[i].x*2+1<=k){s+=dian[i].ge;xx=dian[i].x;yy=dian[i].y;k-=dian[i].x+1;}else break;}else{ju=abs(xx-dian[i].x)+abs(yy-dian[i].y);if (ju+dian[i].x+1<=k){s+=dian[i].ge;xx=dian[i].x;yy=dian[i].y;k-=ju+1;}else break;}}printf("%d\n",s);}return 0;}


0 0
原创粉丝点击