题解 P1086 【花生采摘】
众所周知,猴子只会走直线,所以......两点间的距离就是横坐标之差加上纵坐标之差 1. 众所周知,猴子的智商不如程序猿,是不会打牌的。 2. 因为一定要从最大植株摘到最小植株,所以路线是固定的 3. 简单的模拟:如果摘了花生后回不去就別摘,摘了后回得去就去摘。 #include<bits/stdc++.h> using namespace std; int m,n,t,tot,x,ti,sh;//ti:现所花时间;sh:现收获花生数量(收获的拼音“sh”) struct node{ int x,y,sl;//x:横坐标;y:纵坐标;sl:花生数量 }hs[405];//结构体:存放田中有花生的植株 bool compare(node a,node b) { return a.sl>b.sl;//结构体sort,<表示升序,>表示降序 } int main() { scanf("%d%d%d",&m,&n,&t);//注入灵魂 for(int i=1;i<=m;i++) for(int j=1;j<=n;j++) { scanf("%d",&x); //有的植株是花生植株,有的是空植株 if(x) hs[++tot].x=i,hs[tot].y=j,hs[tot].sl=x;//如果有花生才进行记录,避免矩阵浪费时间 }//tot表示花生植株数 sort(hs+1,hs+tot+1