Pagini recente » Cod sursa (job #2726873) | Cod sursa (job #493304) | Cod sursa (job #2524303) | Cod sursa (job #937967) | Cod sursa (job #2066195)
#include<fstream>
using namespace std;
ifstream fin("iepuri.in");
ofstream fout("iepuri.out");
int A[3][3],X,Y,Z,D,B,C,N,T;
void Multiply(int G[3][3],int F[3][3])
{
long long S[3][3];
for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
{
S[i][j]=0;
for(int k=0; k<3; k++)
S[i][j]+=1LL*G[i][k]*F[k][j];
S[i][j]%=666013;
}
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
G[i][j]=S[i][j];
}
int main()
{
fin>>T;
for(int i=1; i<=T; i++)
{
fin>>X>>Y>>Z>>D>>B>>C>>N;
A[0][0]=A[0][1]=A[1][1]=A[2][0]=0;
A[1][0]=A[2][1]=1;
A[0][2]=C;
A[1][2]=B;
A[2][2]=D;
int Sol[3][3]={0};
Sol[0][0]=X;
Sol[0][1]=Y;
Sol[0][2]=Z;
while(N>0)
{
if(N%2==1)
Multiply(Sol,A);
Multiply(A,A);
N/=2;
}
fout<<Sol[0][0]%666013<<'\n';
}
}