%I #15 Mar 09 2017 10:01:15
%S 1,1,1,1,1,1,2,2,2,4,2,2,2,4,5,3,3,3,6,6,9,3,3,3,6,7,9,10,4,4,4,8,8,
%T 12,12,16,4,4,4,8,9,12,13,16,18,5,5,5,10,10,15,15,20,20,25,5,5,5,10,
%U 11,15,16,20,22,25,27,6,6,6,12,12,18,18,24,24,30,30,36
%N Triangle read by rows: T(n,m) (n>=m>=1) = maximum number of nonattacking kings on an n X m toroidal board.
%C Independence number of the kings' graph on toroidal n X m chessboard.
%C Right border T(n,n) is A189889.
%C For the usual non-toroidal case, the formula is ceiling(m/2)*ceiling(n/2).
%D John J. Watkins, Across the Board: The Mathematics of Chessboard Problem, Princeton University Press, 2004, pages 194-196.
%H Indranil Ghosh, <a href="/A279409/b279409.txt">Rows 1..125, flattened</a>
%H Dan Freeman, <a href="http://www.slideshare.net/DanFreeman1/chessboard-puzzles-part-4-other-surfaces-and-variations-42702023">Chessboard Puzzles Part 4 - Other Surfaces and Variations</a>.
%H V. Kotesovec, <a href="https://oeis.org/wiki/User:Vaclav_Kotesovec">Non-attacking chess pieces</a>.
%F T(n,m) = floor(min(m*floor(n/2), n*floor(m/2))/2) for m>1;
%F T(n,1) = floor(n/2) for n>1.
%e Triangle starts:
%e 1;
%e 1, 1;
%e 1, 1, 1;
%e 2, 2, 2, 4;
%e 2, 2, 2, 4, 5;
%e 3, 3, 3, 6, 6, 9;
%e 3, 3, 3, 6, 7, 9, 10;
%e ...
%t T[1, 1] = 1; T[n_, m_]:= If[m==1, Floor[n/2], Floor[Min[m Floor[n/2], n Floor[m/2]]/2]]; Flatten[Table[T[n,m], {n, 1, 12},{m, 1,n}]] (* _Indranil Ghosh_, Mar 09 2017 *)
%o (PARI) tabl(nn) = {for(n=1, 12, for(m=1, n, print1(if(m==1,if(n==1, 1, floor(n/2)), floor(min(m*floor(n/2), n*floor(m/2))/2)),", ");); print();); };
%o tabl(12); \\ _Indranil Ghosh_, Mar 09 2017
%o (Python)
%o def T(n,m):
%o ....if m==1:
%o ........if n==1: return 1
%o ........return n/2
%o ....return min(m*(n/2), n*(m/2))/2
%o i=1
%o for n in range(1,126):
%o ....for m in range(1, n+1):
%o ........print str(i)+" "+str(T(n,m))
%o ........i+=1 # _Indranil Ghosh_, Mar 09 2017
%Y Cf. A085801, A189889, A279408.
%K nonn,tabl,easy
%O 1,7
%A _Andrey Zabolotskiy_, Dec 16 2016