思路:這道題主要難在減枝上,單純的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設計的機械人卡多甚至會計算一種巢狀...