Pagini recente » Cod sursa (job #339579) | Cod sursa (job #2605100) | Cod sursa (job #1198156) | Cod sursa (job #734297) | Cod sursa (job #849728)
Cod sursa(job #849728)
#include<fstream>
#define MOD 666013
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
int a1,b,c,x,y,z,n,t,i,j,a[3][3],m[3][3];
void inmulteste(int a[][3],int m[][3])
{
int i,j,k;
int aux[3][3]={{0,0,0},{0,0,0},{0,0,0}};
for(i=0;i<=2;++i)
for(j=0;j<=2;++j)
for(k=0;k<=2;++k)
aux[i][j]=(aux[i][j]+1ll*a[i][k]*m[k][j])%MOD;
for(i=0;i<=2;++i)
for(j=0;j<=2;++j)
a[i][j]=aux[i][j];
}
void putere(int a[][3],int p)
{
while(p)
{if(p&1)
{
inmulteste(a,m);
}
p/=2;
inmulteste(m,m);
}
}
int main()
{
f>>t;
while(t)
{
f>>x>>y>>z>>a1>>b>>c>>n;
--t;
m[0][0]=a1;
m[0][1]=b;
m[0][2]=c;
m[1][0]=1;
m[1][1]=0;
m[1][2]=0;
m[2][0]=0;
m[2][1]=1;
m[2][2]=0;
for(i=0;i<=2;++i)
for(j=0;j<=2;++j)
if(i==j)
a[i][j]=1;
else
a[i][j]=0;
putere(a,n-2);
g<<(a[0][0]*z%MOD+a[0][1]*y%MOD+a[0][2]*x%MOD)%MOD<<'\n';
}
return 0;
}