題目:
**如下:
#includeusing namespace std;
#define max 100005
int n,p,c,m;
vectora[max];
bool vis[max];
struct people
people(int a,int b,int c):num2(a),get2(b),eat2(c){}
}people;
int dfs(int num,int get,int eat)
} }return people.eat2;
}int main()
vis[c] = true;
cout << dfs(c,1,m + 1) << endl;
return 0;
}
一開始想用二維陣列來儲存小朋友之間的關係,但這裡n要到100000,用二位陣列作為全域性變數肯定要爆,所以我想到了使用vector來記錄小朋友之間的關係,這可以節約很多空間。vis[i]來代表糖是否已經傳到編號為i的小朋友手中,隨後就可以使用bfs來解決這個問題了,每次往佇列放乙個結構體,結構體有小朋友的編號,小朋友拿到糖的時間,以及小朋友吃了糖的時間,最後輸出佇列中最後乙個小朋友的吃了糖的時間就可以了,因為當最後乙個小朋友吃完糖之後所有小朋友的糖也就全部吃完了。 演算法練習 吃糖
時間限制 2 s 記憶體限制 128 mb 題目描述 某人買了n兜糖果,第i兜有ai塊糖。此人把所有這些糖果用乙個數字標記起來 他這樣標記這些糖,第一袋糖用用數字1到a1,第二袋糖用數字a1 1到a1 a2,如此類推。如果還沒明白看樣例可以更加明確此人的意圖.這個人不想一口氣把這些糖全吃掉,他用記事...
吃糖果問題
hoho,終於從speakless手上贏走了所有的糖果,是gardon吃糖果時有個特殊的癖好,就是不喜歡將一樣的糖果放在一起吃,喜歡先吃一種,下一次吃另一種,這樣 可是gardon不知道是否存在一種吃糖果的順序使得他能把所有糖果都吃完?請你寫個程式幫忙計算一下。第一行有乙個整數t,接下來t組資料,每...
問題 A 吃糖果
名名的媽媽從外地出差回來,帶了一盒好吃又精美的巧克力給名名 盒內共有 n 塊巧克力,20 n 0 媽媽告訴名名每天可以吃一塊或者兩塊巧克力。假設名名每天都吃巧克力,問名名共有多少種不同的吃完巧克力的方案。例如 如果n 1,則名名第1天就吃掉它,共有1種方案 如果n 2,則名名可以第1天吃1塊,第2天...