Pagini recente » Cod sursa (job #2169685) | Cod sursa (job #964052) | Cod sursa (job #1316069) | Cod sursa (job #1843948) | Cod sursa (job #2384154)
#include <fstream>
#include <iostream>
#include <string.h>
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
#define MOD 666013
int x,y,z,a,b,c,n,t,k;
long long M[3][3],exp,R[3][3];
void mat_prod( long long x[3][3],long long y[3][3])
{
int i,j,k;
long long aux[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
aux[i][j]=0;
for(k=0;k<3;k++)
{
aux[i][j]+=x[i][k]*y[k][j];
aux[i][j] = aux[i][j] % MOD;
}
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
y[i][j]=aux[i][j];
}
int main()
{
f>>t;
while(t--){
f>>x>>y>>z>>a>>b>>c>>n;
memset(R,0,sizeof(R));
k = n-2;
R[0][0]=1;
R[1][1]=1;
R[2][2]=1;
while(k!=0){
memset(M,0,sizeof(M));
M[0][0]=a; M[0][1]=b; M[0][2]=c;
M[1][0]=1; M[2][1]=1;
exp = 1;
while(exp*2<=k){
exp=exp*2;
mat_prod(M,M);
}
mat_prod(M,R);
k-=exp;
}
g<<R[0][0]*z+R[0][1]*y+R[0][2]*x<<'\n';
}
return 0;
}