标签:
花生采摘
6 7 21 0 0 0 0 0 0 0 0 0 0 0 13 0 0 0 0 0 0 0 0 7 0 15 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0
37
#include<cstdio> #include<algorithm> using namespace std; struct pe{ int x,y,val; }; bool cmp(pe x,pe y){ if(x.val>y.val) return true; else return false; } int main(){ int m,n,k,f,g=0,xi,yi=0,sum=0; pe v[410]; scanf("%d%d%d",&m,&n,&k); for(int i=1;i<=m;i++) for(int j=1;j<=n;j++){ scanf("%d",&f); if(f>0){//记录位置和花生个数 v[g].val=f; v[g].x=j; v[g++].y=i; } } sort(v,v+g,cmp); xi=v[0].x; for(int i=0;i<g;i++){//计算需要的时间 int xmax=xi>v[i].x?xi:v[i].x; int xmin=xi>v[i].x?v[i].x:xi; int ymax=yi>v[i].y?yi:v[i].y; int ymin=yi>v[i].y?v[i].y:yi; if(xmax-xmin+ymax-ymin+v[i].y+1<=k){ sum+=v[i].val; k=k-(xmax-xmin+ymax-ymin+1); xi=v[i].x; yi=v[i].y; } else break; } printf("%d\n",sum); return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
SDNU 1167.花生采摘【NOIP 2004 普及组】【贪心】【8月6】
标签:
原文地址:http://blog.csdn.net/a995549572/article/details/47321965