Pagini recente » Cod sursa (job #922245) | Cod sursa (job #2758952) | Cod sursa (job #320174) | Cod sursa (job #1025878) | Cod sursa (job #2064802)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
void inm_matr(long long A[3][3], long long B[3][3])
{
long long AB[3][3]={0,0};
int i, j, k;
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++)
{
for(k = 0; k < 3; k++)
AB[i][j] += ( (A[i][k] * B[k][j]) % 666013 );
}
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++)
B[i][j] = AB[i][j];
}
int main()
{
int T, X, Y, Z, A, B, C, i;
long long N;
fin>>T;
for(i=1; i<=T; i++)
{
fin>>X>>Y>>Z>>A>>B>>C>>N;
long long M[3][3]={0,0}, XYZ[3][3]={0,0};
M[0][1]=1;
M[1][2]=1;
M[2][0]=C, M[2][1]=B, M[2][2]=A;
XYZ[0][0]=X;
XYZ[1][0]=Y;
XYZ[2][0]=Z;
while ( N >1 )
{
if(N%2 == 0)
{
inm_matr(M, M);
N /= 2;
}
else
{
inm_matr(M, XYZ);
N--;
}
}
inm_matr(M, XYZ);
fout<<XYZ[0][0]<<endl;
}
}