河南第四屆ACM省賽(走迷宮)

2021-07-09 19:44:31 字數 1487 閱讀 4513

思路:這道題主要難在減枝上,單純的dfs會超時,先把超時**寫上來,有時間改改

錯誤**:

#include #include #include #include #include #include #include #include #include #include #include typedef long long ll;

using namespace std;

int map1[110][110];

int visit[110][110];

int dir[4][2] = ,,,};

int n;

int flag;

void dfs(int x,int y,int max1,int min1)

return;

}for(i=0; i<4; i++)

if(map1[newx][newy] < min1)

visit[newx][newy] = 1;

dfs(newx,newy,max1,min1);

visit[newx][newy] = 0;}}

}int main()

}visit[1][1] = 1;

int max1 = map1[1][1];

int min1 = map1[1][1];

dfs(1,1,max1,min1);

printf("%d\n",flag);

}return 0;

}

超時代嗎:

#include #include #include #include #include #include #include #include #include #include #include typedef long long ll;

using namespace std;

int map1[110][110];

int visit[110][110];

int dir[4][2] = ,,,};

int n;

int flag;

void dfs(int x,int y,int max1,int min1)

return;

}for(i=0; i<4; i++)

if(map1[newx][newy] < min1)

visit[newx][newy] = 1;

dfs(newx,newy,max2,min2);

visit[newx][newy] = 0;}}

}int main()

}visit[1][1] = 1;

int max1 = map1[1][1];

int min1 = map1[1][1];

dfs(1,1,max1,min1);

printf("%d\n",flag);

}return 0;

}

重新開了乙個變數,交上去t了

河南第四屆ACM省賽(BOBSLEDDING)

題意 乙個人參加越野比賽,有很多山頭,過這些山頭時不能超過指定的速度,他在剛開始時速度為1,他可以每秒加速或減速1m,或者保持不變,問他途中可以到達的最大的速度 思路 剛開始想的就是模擬,太亂看了別人的解題報告才知道是dp ac include include include include inc...

第四屆河南省程式設計大賽 D 走迷宮

題目描述 dr.kong設計的機械人卡多非常愛玩,它常常偷偷跑出實驗室,在某個遊樂場玩之不疲。這天卡多又跑出來了,在sjtl遊樂場玩個不停,坐完碰碰車,又玩滑滑梯,這時卡多又走入乙個迷宮。整個迷宮是用乙個n n的方陣給出,方陣中單元格中填充了乙個整數,表示走到這個位置的難度。這個迷宮可以向上走,向下...

河南省第四屆acm省賽 表示式求值(棧的應用)

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 dr.kong設計的機械人卡多掌握了加減法運算以後,最近又學會了一些簡單的函式求值,比如,它知道函式min 20,23 的值是20 add 10,98 的值是108等等。經過訓練,dr.kong設計的機械人卡多甚至會計算一種巢狀...