假設我有一個二維數組對象,N×N。假設一對可以由相鄰的每一對對象水平,垂直或對角線組成。我如何計算有多少個唯一對有任何N值?在二維數組中找到唯一的相鄰索引
例如,對於N = 2
0 1
2 3
你可以得到01 02 03 21 23 31,注意03是相同的30
是否有一個公式來確定有多少這些對有給定的N,甚至更好的算法來產生這些?
語言不是那麼重要,但我會用C++。
使用下面的算法並消除重複的索引,我得到以下計數。不知道公式是什麼。
For size N=2
Unique pairs is =6
For size N=3
Unique pairs is =20
For size N=4
Unique pairs is =42
For size N=5
Unique pairs is =72
For size N=6
Unique pairs is =110
For size N=7
Unique pairs is =156
For size N=8
Unique pairs is =210
For size N=9
Unique pairs is =272
有趣的是,式看來是2^2 + 2,4^2 + 4,6^2 + 6,8^2 + 8 ...