多校第一場 hdu 4308 bfs

2021-06-07 21:30:52 字數 869 閱讀 6353

最短路。

給出的地圖中,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 分析 開始直接考慮用線段樹維護區間線性基的並,然後每次查詢求區間線性基...