"27012","13744852240","9607680019329456","7555786373574120939544","6338253001141997061913643712","5538449982437150493650373937210144",
"4977844910386299809268168657185593495464","4567192616659071619387584246010106165386598032","4256932057960802384328742673977943978507520207880680","4017345110647475688854905231971608161006919942602792622080",
"3829537878856624970833382824861719499244012007716179105915972728","3680931384954967353298536459881081412689429403953023045640442730653712","3562833514994344474571414923344243319585618031758839964400217375270363818736",
"3469051593260230483784753405041998047576953537077802225138144613894348183375390368","3395059960557476810447409480682296935085781728924409435040082236571049272467566764776576",
"3337479743626422003742221415889925179066725817467934674631781173079522345479830488216782508880","3293742267908535603760944530247712173708302201816785714842272674335857064883154074899884841486918720",
"3261864698296990594290945273318523649132892429039334501079122693944244956398239758515309761637828058447328","3240296562203493356272947376656547187917741716321171602161611329594481960205440267600480592491663403276323090072",
"1613906173804317868534949482501882421456066120518264695519868146241101057612841996237852338189217258473599448105091072"
C艹代码:
[cpp]
int n,m,arr[MAX][MAX],vis[MAX][MAX];
int cnt[MAX*MAX],temp[MAX][MAX];
int Calculate(int arr[][MAX]) {
int i,j,k,tp,ii,jj,tot = 0;
memset(vis,0,sizeof(vis));
for (i = 1; i <= n; ++i)
for (j = 1; j <= m; ++j)
if (vis[i][j] == 0) {
tot++;
ii = i,jj = j;
// printf("tot = %d\n",tot);
while (1) {
vis[ii][jj] = 1;
tp = arr[ii][jj];
//printf("ii%d jj%d tp%d\n",ii,jj,tp);
ii = (tp + m - 1) / m;
jj = tp - (ii - 1) * m;
if (vis[ii][jj]) break;
}