Cody

# Problem 42639. Find the Final State of an Abelian Sandpile

Solution 750017

Submitted on 30 Sep 2015 by Zikobrelli
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
%% A = 1; B_correct = 1; assert(isequal(sandpile(A),B_correct))

2   Pass
%% A = [0 0 0;0 4 1;1 0 0]; B_correct = [0 1 0;1 0 2;1 1 0]; assert(isequal(sandpile(A),B_correct))

A = 0 1 0 0 4 1 1 0 0 A = 0 1 0 0 4 1 1 1 0 A = 0 1 0 0 4 2 1 1 0 A = 0 1 0 1 4 2 1 1 0 A = 0 1 0 1 0 2 1 1 0

3   Pass
%% A = [0 0 0 0;0 4 4 0;0 0 0 0]; B_correct = [0 1 1 0;1 1 1 1;0 1 1 0]; assert(isequal(sandpile(A),B_correct))

A = 0 1 0 0 0 4 4 0 0 0 0 0 A = 0 1 0 0 0 4 4 0 0 1 0 0 A = 0 1 0 0 0 4 5 0 0 1 0 0 A = 0 1 0 0 1 4 5 0 0 1 0 0 A = 0 1 0 0 1 0 5 0 0 1 0 0 A = 0 1 1 0 1 0 5 0 0 1 0 0 A = 0 1 1 0 1 0 5 0 0 1 1 0 A = 0 1 1 0 1 0 5 1 0 1 1 0 A = 0 1 1 0 1 1 5 1 0 1 1 0 A = 0 1 1 0 1 1 1 1 0 1 1 0

4   Pass
%% A = [0 0 0 0 0;0 0 0 0 0;0 0 17 0 0;0 0 0 7 0;0 0 0 0 0]; B_correct = [0 0 1 0 0;0 2 1 2 0;1 1 1 3 1;0 2 3 1 2;0 0 1 2 0]; assert(isequal(sandpile(A),B_correct))

A = 0 0 0 0 0 0 0 4 0 0 0 0 17 0 0 0 0 0 7 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 4 0 0 0 0 17 0 0 0 0 4 7 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 4 0 0 0 0 17 4 0 0 0 4 7 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 4 0 0 0 4 17 4 0 0 0 4 7 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 4 0 0 0 4 1 4 0 0 0 4 7 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 1 4 0 0 0 4 7 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 1 4 0 0 0 4 8 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 1 4 1 0 0 4 8 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 2 4 1 0 0 4 8 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 2 0 1 0 0 4 8 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 3 0 1 0 0 4 8 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 3 0 1 0 0 4 8 0 0 0 1 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 3 0 1 0 0 4 9 0 0 0 1 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 3 0 1 0 1 4 9 0 0 0 1 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 3 0 1 0 1 0 9 0 0 0 1 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 3 2 1 0 1 0 9 0 0 0 1 0 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 3 2 1 0 1 0 9 0 0 0 1 2 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 3 2 1 0 1 0 9 2 0 0 1 2 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 3 2 1 0 1 2 9 2 0 0 1 2 0 A = 0 0 0 0 0 0 0 4 1 0 0 4 3 2 1 0 1 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 0 4 1 0 0 4 3 2 1 0 1 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 0 4 1 0 0 4 4 2 1 0 1 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 0 4 2 0 0 4 4 2 1 0 1 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 1 4 2 0 0 4 4 2 1 0 1 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 1 0 2 0 0 4 4 2 1 0 1 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 2 0 2 0 0 4 4 2 1 0 1 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 2 0 2 0 0 4 4 2 1 0 2 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 2 0 2 0 0 4 5 2 1 0 2 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 2 0 2 0 1 4 5 2 1 0 2 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 2 0 2 0 1 0 5 2 1 0 2 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 2 1 2 0 1 0 5 2 1 0 2 2 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 2 1 2 0 1 0 5 2 1 0 2 3 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 2 1 2 0 1 0 5 3 1 0 2 3 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 2 1 2 0 1 1 5 3 1 0 2 3 1 2 0 0 1 2 0 A = 0 0 1 0 0 0 2 1 2 0 1 1 1 3 1 0 2 3 1 2 0 0 1 2 0

5   Pass
%% A = [0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0;0 0 0 16 2 3 13 0 0 0 0;0 0 0 5 11 10 8 0 0 0 0;0 0 0 9 7 6 12 0 0 0 0;0 0 0 4 14 15 1 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0]; B_correct = [0 0 0 0 0 0 0 0 0 0 0;0 0 1 3 3 3 3 1 0 0 0;0 2 3 2 3 3 2 3 2 0 0;1 1 1 3 2 3 1 1 1 1 0;1 3 1 1 3 3 1 2 3 1 0;1 3 0 3 3 3 3 1 3 1 0;1 0 3 2 2 3 0 3 0 1 0;0 2 2 3 2 2 3 2 2 0 0;0 0 2 0 3 3 0 2 0 0 0;0 0 0 1 1 1 1 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0]; assert(isequal(sandpile(A),B_correct))

A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 16 2 3 13 0 0 0 0 0 0 0 5 11 10 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 16 2 3 13 0 0 0 0 0 0 0 9 11 10 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 16 6 3 13 0 0 0 0 0 0 0 9 11 10 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 4 16 6 3 13 0 0 0 0 0 0 0 9 11 10 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 4 0 6 3 13 0 0 0 0 0 0 0 9 11 10 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 0 0 0 0 0 0 0 0 4 0 6 3 13 0 0 0 0 0 0 0 9 11 10 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 0 0 0 0 0 0 0 0 4 0 6 3 13 0 0 0 0 0 0 0 9 12 10 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 0 0 0 0 0 0 0 0 4 0 6 4 13 0 0 0 0 0 0 0 9 12 10 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 0 0 0 0 0 0 0 0 4 1 6 4 13 0 0 0 0 0 0 0 9 12 10 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 0 0 0 0 0 0 0 0 4 1 2 4 13 0 0 0 0 0 0 0 9 12 10 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 1 0 0 0 0 0 0 0 4 1 2 4 13 0 0 0 0 0 0 0 9 12 10 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 1 0 0 0 0 0 0 0 4 1 2 4 13 0 0 0 0 0 0 0 9 12 11 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 1 0 0 0 0 0 0 0 4 1 2 4 14 0 0 0 0 0 0 0 9 12 11 8 0 0 0 0 0 0 0 9 7 6 12 0 0 0 0 0 0 0 4 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 1 0 0 0 0 0 0 0 4 1 3 4 14 0 0 0 0 0 0 0 9 12 11 8 0 0 0 0 0 0 0 9 ...