列舉 討厭的青蛙(演算法基礎 第2周)

2021-07-13 02:29:37 字數 1436 閱讀 7724

問題講解:

分析:

講解的很好了,再說就是畫蛇添足。

原始碼:

#include 

#include

#include

using

namespace

std;

int r,c,n;

struct plant;

plant plants[5001];

plant plant;

int searchpath(plant secplant, int dx, int dy);

int main()

//將水稻按x座標從小到大排序,x座標相同按y從小到大排序

sort(plants, plants+n);

for(i=0; i2; i++)

if (plants[i].x+(max-1)*dx>r)

py = plants[i].y+(max-1)*dy;

if (py>c || py<1)

steps = searchpath(plants[j], dx, dy);

if (steps>max)

}

}if (max == 2)

printf("%d\n", max);}/*

運算子過載,用於sort

*/bool

operator

< (const plant &p1, const plant &p2)

//判斷從secplant點開始,步長為dx,dy, 那麼最多能走幾步

int searchpath(plant secplant, int dx, int dy)

plant.x += dx;

plant.y += dy;

steps++;

}return steps;

}

演算法題 討厭的青蛙

青蛙問題,求解一條路徑 這條路徑中被乙隻青蛙壓倒的稻子最多 青蛙只會在乙個方向上前進,並且步長是一定的 include include include using namespace std int r,c,n struct plant 記錄被踩壞的水稻座標 為了debug方便自己先初始化 plan...

列舉 案例(討厭的青蛙poj1054)

問題描述 在南韓,有一種小的青蛙。每到晚上,這種青蛙會跳越稻田,從而踩踏稻子。農民在早 上看到被踩踏的稻子,希望找到造成最大損害的那只青蛙經過的路徑。每只青蛙總是沿著一 條直線跳越稻田,而且每次跳躍的距離都相同,如圖 所示。稻田裡的稻子組成乙個柵 格,每棵稻子位於乙個格點上,如圖 所示。而青蛙總是從...

演算法導論第2章 演算法基礎

2.1 插入排序 includeusing namespace std void insertion sort int a,int n 宣告 void print int a,int n void insertion sort int a,int n a i 1 key void print int...