Cod sursa(job #415320)
//robotei
#include<fstream.h>
long n,m,x,y,mx,my,ox,oy,i,j,k,newx,newy,oldx,oldy,nr,c[1000001],nx[1000000],ny[1000000];
int main()
{ifstream f("robotei.in");
ofstream g("robotei.out");
f>>n>>m>>x>>y>>mx>>my>>ox>>oy;
for(i=0;i<n;i++)
{
nx[i]=(i*i+ox)%mx;
ny[i]=(i*i+oy)%my;
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{oldx=i; oldy=j;
if(i==x&&j==y)nr=1; else nr=0;
for(k=1;k<=m;k++)
{newx=nx[oldx];
newy=ny[oldy];
if(newx==x && newy==y) nr++;
oldx=newx;
oldy=newy;
}
c[nr]++;
}
for(i=0;i<=m;i++)
if(c[i]>0)g<<i<<' '<<c[i]<<'\n';
f.close();
g.close();
return 0;}