Zoj 2344 Toral Tickets (数学_Polya)(六)

2014-11-24 10:45:28 · 作者: · 浏览: 5
2716382903223175969098","40936224591992597182162868918208830204","18779574904025787908718574436155314063657516","8751916237583886480939063648792742032126941483252","4129672194333342607786703597714589062014181942348177028","1968306886747854117410250218390318898817450552760765269658228","945963040952654027883053160948072839055886448893139296538105286176","457806526906140069203769392905047723236896716886774810436054850189035496","222878006351525909988226858362587251214481350740984868249503310148931066031610","109062113247760228542846984242723868443088064396244307533219112480725667221801975984","53606209903539107533380149694983635817143909387604872165580443691146388265818995945327356","26451851838029846221610175927796311016751758793717464821993590453400802802034925791918206736480","13097922468876048014955802810341779404220149106637626639549018713584678848561019262022944004246153342","3252829062013619429209806920760854608553576937546150171659530781326990155786545898224408100822922837360640","3240296562203493356272947376656547187917741716321171602161611329594481960205440267600480592491663403276323090072",
"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;
}