Pagini recente » Cod sursa (job #943707) | Cod sursa (job #2622927) | Cod sursa (job #1675953) | Cod sursa (job #1156114) | Cod sursa (job #317390)
Cod sursa(job #317390)
#include<stdio.h>
int a[3][3],x,y,z,n,b[3][3],c[3][3];
const int r=666013;
void matrice()
{
a[0][0]=0;
a[0][1]=1;
a[0][2]=0;
a[1][0]=0;
a[1][1]=0;
a[1][2]=1;
c[0][0]=0;
c[0][1]=1;
c[0][2]=0;
c[1][0]=0;
c[1][1]=0;
c[1][2]=1;
}
void inmultire(int m)
{
for (int i=0; i<3; ++i){
for (int k=0; k<3; ++k)
{
b[i][k]=0;
for (int j=0; j<m; ++j)
b[i][k]=(b[i][k]+a[i][j]*c[j][k]%r)%r;
}
}
for (int i=0; i<3; ++i)
for (int j=0; j<m; ++j)
a[i][j]=b[i][j];
}
void citire()
{
freopen("iepuri.in","r",stdin);
freopen("iepuri.out","w",stdout);
int t;
scanf("%d",&t);
while (t)
{
matrice();
scanf("%d%d%d%d%d%d%d",&x,&y,&z,&a[2][2],&a[2][1],&a[2][0],&n);
c[2][0]=a[2][0];
c[2][1]=a[2][1];
c[2][2]=a[2][2];
for (int i=1; i<n; ++i)
inmultire(3);
printf("%d\n",(a[0][0]*x+a[0][1]*y+a[0][2]*z)%r);
--t;
}
}
int main()
{
citire();
return 0;
}