Pagini recente » Cod sursa (job #2182284) | Cod sursa (job #1844271) | Cod sursa (job #2673676) | Istoria paginii runda/sim03 | Cod sursa (job #698515)
Cod sursa(job #698515)
# include <fstream>
using namespace std;
ifstream fin("date.in");
ofstream fout("date.out");
int main ()
{
int n,m,op=0,i,j,nr=0,x,a[101][101],b,c,k,v[101];
fin>>n>>m;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
if (a[i][j]!=(i-1)*m+j) nr++;
do {b=0;c=0;
for (i=1;((i<=n)&&(b==0));i++)
for (j=1;((j<=m)&&(b==0));j++)
if (a[i][j]!=(i-1)*m+j) {b=i;c=j;}
if (b!=0)
{k=1;
v[1]=a[b][c];
do {j=a[b][c]%m;
if (j==0) j=m;
i=a[b][c]/m+1;
k++;
v[k]=a[i][j];
b=i;
c=j;
}while (v[k]!=v[1]);
op=op+k;
for (x=1;x<k;x++){ i=v[x]/m +1;
j=v[x]%m;
if (j==0) j=m;
a[i][j]=v[x];
}
nr-=k-1;
}
} while (nr!=0);
fout<<op<<'\n';
return 0;
}