Submission #463934


Source Code Expand

declare -r M=10007

read n
((--n))

declare -a x=(0 1 0 0 0 1 1 1 1)
declare -a y=(1 0 0 0 1 0 0 0 1)

while (( n > 0 )) ; do
    if (( (n & 1) == 1 )) ; then
        y=( $(( (y[0]*x[0] + y[1]*x[3] + y[2]*x[6]) % M ))
            $(( (y[0]*x[1] + y[1]*x[4] + y[2]*x[7]) % M ))
            $(( (y[0]*x[2] + y[1]*x[5] + y[2]*x[8]) % M ))
            $(( (y[3]*x[0] + y[4]*x[3] + y[5]*x[6]) % M ))
            $(( (y[3]*x[1] + y[4]*x[4] + y[5]*x[7]) % M ))
            $(( (y[3]*x[2] + y[4]*x[5] + y[5]*x[8]) % M ))
            $(( (y[6]*x[0] + y[7]*x[3] + y[8]*x[6]) % M ))
            $(( (y[6]*x[1] + y[7]*x[4] + y[8]*x[7]) % M ))
            $(( (y[6]*x[2] + y[7]*x[5] + y[8]*x[8]) % M )) )
    fi

    n=$(( n >> 1 ))

    if (( n > 0 )) ; then
        x=( $(( (x[0]*x[0] + x[1]*x[3] + x[2]*x[6]) % M ))
            $(( (x[0]*x[1] + x[1]*x[4] + x[2]*x[7]) % M ))
            $(( (x[0]*x[2] + x[1]*x[5] + x[2]*x[8]) % M ))
            $(( (x[3]*x[0] + x[4]*x[3] + x[5]*x[6]) % M ))
            $(( (x[3]*x[1] + x[4]*x[4] + x[5]*x[7]) % M ))
            $(( (x[3]*x[2] + x[4]*x[5] + x[5]*x[8]) % M ))
            $(( (x[6]*x[0] + x[7]*x[3] + x[8]*x[6]) % M ))
            $(( (x[6]*x[1] + x[7]*x[4] + x[8]*x[7]) % M ))
            $(( (x[6]*x[2] + x[7]*x[5] + x[8]*x[8]) % M )) )
    fi
done

echo ${y[2]}

Submission Info

Submission Time
Task B - トリボナッチ数列
User yuizumi
Language Bash (4.2.25)
Score 100
Code Size 1345 Byte
Status AC
Exec Time 45 ms
Memory 1040 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 33
Set Name Test Cases
All test_1.txt, test_1000000.txt, test_1002.txt, test_104.txt, test_107843.txt, test_10980.txt, test_1212.txt, test_1238.txt, test_13194.txt, test_14.txt, test_16.txt, test_2.txt, test_210782.txt, test_21694.txt, test_243.txt, test_24916.txt, test_278.txt, test_3.txt, test_31.txt, test_32.txt, test_42.txt, test_5555.txt, test_567914.txt, test_61868.txt, test_765671.txt, test_8195.txt, test_8353.txt, test_9.txt, test_9625.txt, test_97.txt, test_998.txt, test_999998.txt, test_999999.txt
Case Name Status Exec Time Memory
sample_01.txt AC 31 ms 996 KB
sample_02.txt AC 27 ms 1004 KB
sample_03.txt AC 33 ms 920 KB
test_1.txt AC 27 ms 920 KB
test_1000000.txt AC 35 ms 996 KB
test_1002.txt AC 31 ms 916 KB
test_104.txt AC 30 ms 912 KB
test_107843.txt AC 34 ms 868 KB
test_10980.txt AC 45 ms 912 KB
test_1212.txt AC 33 ms 992 KB
test_1238.txt AC 31 ms 916 KB
test_13194.txt AC 32 ms 916 KB
test_14.txt AC 30 ms 920 KB
test_16.txt AC 29 ms 920 KB
test_2.txt AC 27 ms 920 KB
test_210782.txt AC 35 ms 916 KB
test_21694.txt AC 32 ms 1040 KB
test_243.txt AC 29 ms 924 KB
test_24916.txt AC 33 ms 920 KB
test_278.txt AC 32 ms 1004 KB
test_3.txt AC 28 ms 920 KB
test_31.txt AC 30 ms 920 KB
test_32.txt AC 30 ms 920 KB
test_42.txt AC 31 ms 920 KB
test_5555.txt AC 32 ms 916 KB
test_567914.txt AC 35 ms 920 KB
test_61868.txt AC 32 ms 920 KB
test_765671.txt AC 34 ms 924 KB
test_8195.txt AC 31 ms 920 KB
test_8353.txt AC 30 ms 916 KB
test_9.txt AC 26 ms 920 KB
test_9625.txt AC 32 ms 920 KB
test_97.txt AC 30 ms 860 KB
test_998.txt AC 32 ms 912 KB
test_999998.txt AC 35 ms 916 KB
test_999999.txt AC 35 ms 920 KB