昂貴的聘禮

2021-07-07 03:17:16 字數 1188 閱讀 6637

f題倒過來單向給陣列賦值,如money[4][3]表示有了4物品得到3物品需要給的金錢,0為超級起點,money[0][1]表示直接得到1物品需要的金錢,圖構建好了,我也是用floyd演算法直接計算得到1物品需要的最少金錢。但是我除錯了很多次也沒找出來**錯了。

#include

#include

#include

#include

#define inf 9999999

using namespace std;

struct goods

a[105];

int main()

}for(i=1;i<=allnum;i++)

}for(i=allnum;i>0;i--)}}

for(i=0,j=1;j<=allnum;j++)

for(k=0;k<=allnum;k++)}}

printf("%d\n",money[0][1]);

return 0;

}用floyd暫時還沒有寫出來,但是仿照著別人的dij演算法把這道題做了主要欠考慮的地方是等級範圍,應該是(k-m,k),中間只應該有m個數,而不是(k-m,k+m)

#include //dij演算法昂貴的聘禮

#include

#include

#define inf 0x7f7f7f7f

#define maxn 1005

using namespace std;

int dis[maxn];

bool vis[maxn];

int money[maxn][maxn];

int limit,allnum,charge,num,price[maxn],level[maxn],rep[maxn];

void init()

int dij()

vis[x]=true;

for(int j=1;j<=allnum;j++)

}return dis[1];

}int main()

money[0][i]=price[i];

}int ans=inf;

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

int now=dij();

ans=min(now,ans);

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

}return 0;

}

昂貴的聘禮

時間限制 1000 ms 記憶體限制 10000 kb 難度 4 描述 年輕的探險家來到了乙個印第安部落裡。在那裡他和酋長的女兒相愛了,於是便向酋長去求親。酋長要他用10000個金幣作為聘禮才答應把女兒嫁給他。探險家拿不出這麼多金幣,便請求酋長降低要求。酋長說 嗯,如果你能夠替我弄到大祭司的皮襖,我...

昂貴的聘禮

description 年輕的探險家來到了乙個印第安部落裡。在那裡他和酋長的女兒相愛了,於是便向酋長去求親。酋長要他用10000個金幣作為聘禮才答應把女兒嫁給他。探險家拿不出這麼多金幣,便請求酋長降低要求。酋長說 嗯,如果你能夠替我弄到大祭司的皮襖,我可以只要8000金幣。如果你能夠弄來他的水晶球,...

昂貴的聘禮

年輕的探險家來到了乙個印第安部落裡。在那裡他和酋長的女兒相愛了,於是便向酋長去求親。酋長要他用10000個金幣作為聘禮才答應把女兒嫁給他。探險家拿不出這麼多金幣,便請求酋長降低要求。酋長說 嗯,如果你能夠替我弄到大祭司的皮襖,我可以只要8000金幣。如果你能夠弄來他的水晶球,那麼只要5000金幣就行...