Birölçülü Hüceyrəvi Avtomat#5414

Birölçülü Hüceyrəvi Avtomat

30 saniyə
128 meqabayt
Asan

Bir ölçülü hüceyrə avtomatı N hüceyrədən ibarətdir. Hüceyrələr 0-dan N-1-ə qədər nömrələnmişdir.

Hər bir hüceyrənin vəziyyəti M-dən kiçik olan qeyri-mənfi tam ədəd kimi ifadə olunur. Hüceyrələrin vəziyyətləri diskret zaman addımları ilə inkişaf edir. i-ci hüceyrənin t zamanındakı vəziyyətini S(i, t) ilə göstəririk. t+1 zamanındakı vəziyyət aşağıdakı tənliklə müəyyən edilir:

S(i, t+1) = (A × S(i-1, t) + B × S(i, t) + C × S(i+1, t)) mod M, (1)

burada A, B və C qeyri-mənfi tam ədəd sabitlərdir. i < 0 və ya N ≤ i üçün S(i, t) = 0 olaraq qəbul edilir.

Avtomatın tərifini və hüceyrələrin ilkin vəziyyətlərini nəzərə alaraq, sizin vəzifəniz müəyyən edilmiş T zamanında hüceyrələrin vəziyyətlərini hesablayan bir proqram yazmaqdır.

Giriş

Giriş bir sıra datasetlərdən ibarətdir. Hər bir dataset aşağıdakı kimi formatlanır.

N M A B C T

S(0, 0) S(1, 0) ... S(N-1, 0)

Bir datasetin ilk sətri altı tam ədəddən ibarətdir: N, M, A, B, C və T. N hüceyrələrin sayını göstərir. M tənlikdəki moduldur (1). A, B və C tənlikdəki əmsallardır (1). Nəhayət, T vəziyyətləri hesablamalı olduğunuz zamandır.

Siz qəbul edə bilərsiniz ki, 0 < N ≤ 50, 0 < M ≤ 1000, 0 ≤ A, B, C < M və 0 ≤ T ≤ 10^9.

İkinci sətr N tam ədəddən ibarətdir, hər biri qeyri-mənfi və M-dən kiçikdir. Onlar sıfır zamanında hüceyrələrin vəziyyətlərini təmsil edir.

Altı sıfırdan ibarət bir sətir girişin sonunu göstərir.

Çıxış

Hər bir dataset üçün, T zamanında hüceyrələrin vəziyyətlərini ehtiva edən bir sətir çıxarın. Çıxışın formatı aşağıdakı kimidir.

S(0, T) S(1, T) ... S(N-1, T)

Hər bir vəziyyət tam ədəd kimi təmsil olunmalıdır və tam ədədlər boşluqla ayrılmalıdır.

Nümunələr

Nümunə 1

Loading
Loading