csuoj1014 西湖三人行

2022-05-21 14:00:09 字數 1309 閱讀 2024

(題目鏈結)

從無向圖圖上一點到達另一點,可以步行,搭公交或者是打的,不同的交通方式花的錢不同,當然消耗的時間也不同。求從起點s到終點t在花費的總錢數少於l的情況下的最短時間。

應yzc的邀請做了這道題,就是乙個分層圖最短路,轉移有點噁心。

注意初始化,以及公交車兩兩之間走的不是最短路,而是兩點之間的直接相連的邊。

// csuoj1014

#include#include#include#include#include#include#include#include#define ll long long

#define inf 1000000000

#define pi acos(-1.0)

#define free(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout);

using namespace std;

const int maxn=200,maxm=1010,maxw=3010;

struct edge e[maxm<<1];

struct data ;

int head[maxn],vis[maxn][maxw],t[maxn][maxn],n,m,s,t,b,l,cnt;

int dis[maxn][maxw],f[maxn][maxn],d[maxn][maxn];

vectorv[maxn];

queueq;

void link(int u,int v,int w)

void init()

void floyed()

void walk(data x) );

vis[e[i].to][x.w+e[i].w*3]=1;}}}

void bus(data x) );

vis[t[p][s]][x.w+6]=1;}}

} }}void taxi(data x) );

vis[i][w]=1;}}

}}void spfa(int s) );

while (!q.empty())

}int main()

for (int i=1;i<=b;i++)

} floyed();

spfa(s);

int ans=inf;

for (int i=0;i<=l;i++) ans=min(ans,dis[t][i]);

if (ans==inf) printf("no\n");

else printf("%d\n",ans);

} return 0;

}

PAT乙級 三人行

子曰 三人行,必有我師焉。擇其善者而從之,其不善者而改之。本題給定甲 乙 丙三個人的能力值關係為 甲的能力值確定是 2 位正整數 把甲的能力值的 2 個數字調換位置就是乙的能力值 甲乙兩人能力差是丙的能力值的 x 倍 乙的能力值是丙的 y 倍。請你指出誰比你強應 從之 誰比你弱應 改之 輸入在一行中...

1088 三人行 (20 分)

子曰 三人行,必有我師焉。擇其善者而從之,其不善者而改之。本題給定甲 乙 丙三個人的能力值關係為 甲的能力值確定是 2 位正整數 把甲的能力值的 2 個數字調換位置就是乙的能力值 甲乙兩人能力差是丙的能力值的 x 倍 乙的能力值是丙的 y 倍。請你指出誰比你強應 從之 誰比你弱應 改之 includ...

三人行我來領頭!

三人行我來領頭!三人行必有我師 這一經典的聖人聖言真可謂婦孺皆知,它教育人們一定要謙遜,是多少人遵崇並堅持修?的美德,它成就了多少人的美名,真是難以想象!但是,它也令多少人因為太過謙讓而與 成功失之交臂!謙虛的確是一項美德,但是,千萬別忘記 該出手時就出手 的梁山好漢歌。三人行必有我徒 太狂妄自大,...