時間限制:
20000ms
單點時限:
1000ms
記憶體限制:
256mb
很久很久以前,當rowdark還是個善良的魔法師時,他在乙個n個點m條邊的無向圖上玩乙個遊戲。
開始時他在一些點上放些石子。每次rowdark選擇乙個點a,要求點a上的石子數大於等於鄰居點個數。然後對a的每個鄰居b,將a上的乙個石子移到b上。如果不能選出這樣的點a,那麼遊戲結束。rowdark想知道這個遊戲會不會無限迴圈。為了使問題更簡單,你只需要求出是否10萬輪後遊戲仍然繼續。
第一行兩個整數n和m(1 ≤ n ≤ 200)。
第二行n個整數a0, a1 ... an-1表示每個點上的石子個數(0 ≤ ai ≤ 109)。
接下來m行,每行兩個數x和y (x ≠ y, 0 ≤ x, y ≤ n - 1),表示在x和y之間有一條邊。題目保證沒有重邊,且任意乙個點都有鄰居。
如果rowdark能玩超過100000輪,輸出「inf」(不帶引號),否則輸出最多步數。
樣例輸入
3 31 2 1
0 11 2
2 0
樣例輸出
inf
#include #include #include #include using namespace std;
#define maxn 205
vectorg[maxn];
int n, m;
int a[maxn];
// complexity is o(10^5 * n)
void solve()
if(u == -1) break;
int k = a[u]/g[u].size();
a[u] -= k*g[u].size();
cnt += k;
for(int i=0; i100000) printf("inf\n");
else printf("%d\n", cnt);
}int main()
for(int i=0; isolve();
}return 0;
}
遊戲策劃《永恆》
一 故事背景 村長 告知 小村 西邊被惡魔攻擊,村民被抓走 擊殺 惡魔 的手下,得知訊息,惡魔 把村民抓到 惡魔洞窟 後,外出了 準備前往 惡魔洞窟 救回村民 在 惡魔洞窟 遇到快要逃跑成功的 同伴 得知除了女主,其他村民都關在一起 女主為了村民激怒了 惡魔 被關押在魔法陣中 同伴 去拯救其他村民,...
hihoCoder挑戰賽C題 永恆遊戲
有乙個定理保證,對於乙個固定的初始局面,不論怎麼操作,要麼可以無限操作下去,要麼在相同步數之後停在相同的局面上。所以只需要模擬100000次即可知道本題答案。定理的證明可以在以下 中找到 定理1.1 include include using namespace std define inf 100...
永恆的契約
宅邸迅速的燃燒著,必須帶貝蒂走出 庫!憑著感覺,又一次直接找到 庫的門。你,是那個人嘛?400年了,當初聖域建立結界時沒有進入聖域,被傷了心的人工精靈貝蒂,與強欲魔女簽訂契約,守護宅邸的 庫,直至 那個人 的到來,那個人會解開貝蒂的心結。我不是那個什麼人,但我會成為你唯一的人。我會給你幸福 精靈與人...