Pagini recente » Cod sursa (job #2839424) | Cod sursa (job #1118355) | Cod sursa (job #2817875) | Cod sursa (job #1697392) | Cod sursa (job #1643890)
#include <fstream>
using namespace std;
int A,B,C,X,Y,Z;
long long Arr[3][3],R[1][3];
const long long MOD = 666013;
inline void multiplyArray(long long A[3][3],long long B[3][3])
{
long long C[3][3];
int i,j,k;
for(i=0;i<=2;++i)
{
for(j=0;j<=2;++j)
{
C[i][j]=0;
for(k=0;k<=2;++k)
{
C[i][j]+=((A[i][k]%MOD)*(B[k][j]%MOD))%MOD;
}
}
}
for(i=0;i<=2;++i)
for(j=0;j<=2;++j)
A[i][j] = C[i][j] % MOD;
};
int main()
{
fstream f("iepuri.in",ios::in);
ofstream g("iepuri.out");
int N,T,i,j,sol;
f>>T;
do{
f>>X>>Y>>Z>>A>>B>>C>>N;
N-=2;
R[0][0]=X;
R[0][1]=Y;
R[0][2]=Z;
Arr[0][0]=0;
Arr[0][1]=0;
Arr[0][2]=C;
Arr[1][0]=1;
Arr[1][1]=0;
Arr[1][2]=B;
Arr[2][0]=0;
Arr[2][1]=1;
Arr[2][2]=A;
while(N)
{
if(N%2==1)multiplyArray(R,Arr);
multiplyArray(Arr,Arr);
N=N/2;
}
sol = (R[0][2])%MOD;
g<<sol<<"\n";
}while(--T);
return 0;
}