P1078 文化之旅 洛谷

2021-09-16 22:35:16 字數 1245 閱讀 4388

剛一看這道題,很多蒟蒻就肯定會想道用最短路來做,這題除了有文化的能與不能的限制以外,就是個模板題。那我們只需要修改輸入輸出,再在演算法裡判斷,就可以—————————————————————————————————————————————

沒錯,作者本人就是這樣的。我感覺我的ac只是應為資料太水了

在這有幾個主要的坑點

1,要反著搜(不知道為什麼我正著搜就錯一組,反著就ac了)應該是我的**問題。

2,要處理好文化華之間的排斥關係。

3,處理好你所學習過的文化和其他文化的矛盾判斷。

我是分割線~~~~~~~~~~~~~~~~~~~~~~~~~~~~

由於每個國家與乙個文化,用c[國家民(i)]=cin>>文化種類,來存。

k*k的文化關係矩陣中,可以用有向圖來存,我用是一維陣列:a[文化種類]=排斥的文化。

用乙個集合來存所學過的文化。

有了以上的想法,我們就可以來吸**寫**了

ac如下:

#include

using

namespace std;

const

int inf=

0x3f3f3f3f

;int n,m,k,ts,te;

int c[

100010];

int a[

10010];

struct node};

vector

>v(

10001);

//鄰接表存圖

bool vis[

10010];

//標記點

set<

int> cnt;

//存已學過的文化

int dis[

10010];

//鬆弛專用陣列

void

yja(

int sx)}}

}}}int

main()

for(

int i=

1;i<=k;i++)}

}for

(int i=

1;i<=m;i++

)yja

(te)

;//以終點為起點

if(dis[ts]

==0x3f3f3f3f

)else

while(1

);//放那啥

return0;

}

洛谷 P1078 文化之旅

有一位使者要遊歷各國,他每到乙個國家,都能學到一種文化,但他不願意學習任何一 種文化超過一次 即如果他學習了某種文化,則他就不能到達其他有這種文化的國家 不 同的國家可能有相同的文化。不同文化的國家對其他文化的看法不同,有些文化會排斥外來 文化 即如果他學習了某種文化,則他不能到達排斥這種文化的其他...

洛谷P1078 文化之旅

題目提供者洛谷onlinejudge 標籤noip普及組2012 難度普及 提高 時空限制1s 128mb 提交 討論 題解有一位使者要遊歷各國,他每到乙個國家,都能學到一種文化,但他不願意學習任何一 種文化超過一次 即如果他學習了某種文化,則他就不能到達其他有這種文化的國家 不 同的國家可能有相同...

洛谷 P1078 文化之旅

有一位使者要遊歷各國,他每到乙個國家,都能學到一種文化,但他不願意學習任何一 種文化超過一次 即如果他學習了某種文化,則他就不能到達其他有這種文化的國家 不 同的國家可能有相同的文化。不同文化的國家對其他文化的看法不同,有些文化會排斥外來 文化 即如果他學習了某種文化,則他不能到達排斥這種文化的其他...