最短路。
給出的地圖中,y為起點,c為終點,#點不能通過,可直接忽略。所有的p為互通的傳送門,故可將所以的p看作同乙個點。每個能通過的點可以向上下左右四個方向走,如果對應的方向可以通過,則連邊,若要走到的點是*,則邊權為通過的費用,否則邊權為0。
連邊後求y到c的最短路即可。
#include #include #include #include using namespace std;
//int dir[4][2]=,,,};
int vis[300][300];
int map[300][300];
int xx = ;
int yy = ;
struct node
;node p[300*300];
node ed;
struct poi
;poi start;
int r,c,v;
int k;
int inmap(int r1,int c1)
int bfs(poi s)
for(int i=0;i<4;i++)
if(ch=='c')
if(ch=='#')
map[i][j]=0;
if(ch=='p')
if(ch=='*')
map[i][j]=1;
}getchar();
}int ans=bfs(start);
if(ans != -1)
printf("%d\n", (ans - 1) * v);
else
printf("damn teoy!\n");
} return 0;
}
hdu 6299 多校第一場
題意 給出一些字串,重新組合,使括號的匹配數量最多 這道題場上沒能出,當時看了一眼,關於括號的,以為是個dp,就沒有再去做這道題。這道題事實上是個貪心,先把已經匹配好的括號數量統計出來。剩下的括號往兩邊堆,右括號往左邊堆,左括號往右邊堆。然後就是排序。左括號比右括號多的這種情況肯定要排在右括號比左括...
HDU6299(2018多校第一場)
bryce1010模板 兩個字串的排序可以分成四種情況 1 str1左少右多 vs str2 左多右少 str2排在str1前面 2 str1 左多右少 vs str2 左少右多 str1排在str2前面 3 str1 左少右多 vs str2 左少右多 按左括號的數量排序 4 其他情況按右括號的數...
2019HDU多校第一場
1002.operation 傳送 題意 給定乙個長度為 n 的數列,m 次操作,每次操作如下 0 l r 查詢區間 l,r 內若干個數的最大異或和。1 x 給數列末尾新增乙個數 x 資料範圍 1 n,m 5e5,1 a i 2 分析 開始直接考慮用線段樹維護區間線性基的並,然後每次查詢求區間線性基...