★ 輸入檔案:three_squirrels.in
輸出檔案:three_squirrels.out
簡單對比
時間限制:1 s 記憶體限制:256 mb
有一天紫萱學姐心情不好,學長就買了乙個自己最喜歡吃的森林大禮包送給學姐,因為反正最後都是自己吃。
森林大禮包裡一共可能有n種包裝袋,編號為0~n-1,0號包裝袋裡有一顆堅果,所有1~n-1號包裝袋裡都裝著若干包其他包裝袋,但是不會出現乙個包裝袋的某個子包裝袋裡包含這這個包裝袋本身的靈異現象。
最終森林大禮包裡也會裝著若干個包裝袋,為了方便表示,我們將森林大禮包視為n號包裝袋。請你幫助紫萱學姐計算這個大禮包裡一共有多少顆堅果,由於答案可能很大,輸出這個數對10^9+7取餘的結果。
輸入資料第一行為乙個整數n,意義如題目所示。
接下來n行,第i行乙個整數ki,代表i號包裝袋中含有ki個其他包裝袋,接下來ki個整數aij代表這ki個包裝袋的編號。
乙個整數,意義如題目所示。
71 02 0 1
2 1 2
2 2 3
2 3 4
2 4 5
2 5 6
21樣例中7個包裝袋中的堅果數組成了乙個斐波那契數列。
對於40%的資料,n≤10。
對於70%的資料,aij<i。
對於100%的資料,n≤100000,0<ki≤10,0≤aij<n且≠i,對於1≤x<y≤ki,aix可能與aiy相等,即乙個包裝袋內可能裝有多個相同編號的包裝袋。
拓撲:
#include #include#include
#include
#include
#include
using
namespace
std;
const
int n = 5e5 + 10
;#define lgj 1000000007
#define ll long longll n, now = 1, head[n], in
[n], ans[n];
struct
nodee[n
<< 1
];queue
q;inline
intread()
inline
void add(int u, int
v)inline
void
toposort()
}}int
main()
for(int i = head[0]; ~ i; i =e[i].nxt)
toposort();
printf(
"%lld
", ans[n]);
return0;
}
luogu 2509 森林大禮包
輸入檔案 three squirrels.in輸出檔案 three squirrels.out簡單對比 時間限制 1 s 記憶體限制 256 mb 有一天紫萱學姐心情不好,學長就買了乙個自己最喜歡吃的森林大禮包送給學姐,因為反正最後都是自己吃。森林大禮包裡一共可能有n種包裝袋,編號為0 n 1,0號...
求職大禮包
名稱 求職大禮包 作者 無 格式 很多word文件 頁數 難以統計 語言 中文 預設 摘要或目錄 面試經典試題.doc 面試真題.rar 描述記憶體分配方式.doc 某大公司的兩道筆試題.doc 記憶體對齊.doc 逆置動態鍊錶.doc 請問堆 heap 和堆疊 stack 有什麼區別.doc 求結...
貪心大禮包1
將金幣單價從高到低排序 將結束時間從早到晚排序 舉個例子 1.乙個比賽被另乙個比賽包含 選擇比賽1,因為結束早,這樣後續比賽被占用的時間可能較少 2.乙個比賽和另乙個比賽相交 選擇比賽1,同理。數學手法,寫過題解,不再贅述 click here!合併最小的兩個,優先順序佇列 從小到大 priorit...