摘要:
简单DFS#include bool used[21];bool prim[41];int now[21];int i,j,n;void out(){ printf("1"); for(int i=2;i<=n;i++) printf(" %d",now[i]); printf("\n");}void dfs(int step){ if (step==n&&prim[now[n]+1]) out();//注意是==,=导致WA for(int i=2;i<=n;i++) if ((!used[i])& 阅读全文
摘要:
题目大意:给定你起点S,和终点D,问你是否能在 T 时刻恰好到达终点D。单词积累:doggie 小狗 befascinatedby 被……吸引题解:首先很容易将题目误解为T时刻之前到达,那么广搜无疑,但是要在T时刻刚好到达,就只能DFS了,以下是两个剪枝:1.地图方格数减去障碍数再减1小于T,则直接无解:因为无法在T时刻到达;2.奇偶剪枝:每一步走后,曼哈顿距离与所走步数之和与T的差值必定是偶数,否则剪枝。#include#include#includeusing namespace std;int n,m,t,ex,ey;bool V[10][10],flag,ans;char map[10 阅读全文