Pagini recente » Cod sursa (job #494088) | Cod sursa (job #252112) | Cod sursa (job #2472595) | Cod sursa (job #431589) | Cod sursa (job #2235281)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
int x,y,z,a,b,c,n,t;
void inm(int tbi1[3][3],int tbi2[3][3])
{
int tbi3[3][3];
for(int i=0;i<=2;++i)
for(int j=0;j<=2;++j)
{
tbi3[i][j]=0;
for(int k=0;k<=2;++k)
tbi3[i][j]+=tbi1[i][k]*tbi2[k][j];
}
for(int i=0;i<=2;++i)
for(int j=0;j<=2;++j)
tbi1[i][j]=tbi3[i][j];
}
void rez(int mat[3][3],int p)
{
int aux[3][3];
for(int i=0;i<=2;++i)
for(int j=0;j<=1;++j)
aux[i][j]=0;
aux[1][0]=aux[2][1]=1;
aux[0][2]=c;
aux[1][2]=b;
aux[2][2]=a;
for(int i=0;i<=2;++i)
for(int j=0;j<=2;++j)
mat[i][j]=0;
mat[0][0]=mat[1][1]=mat[2][2]=1;
while(p)
{
if(p%2)
inm(mat,aux);
inm(aux,aux);
p/=2;
}
}
int main()
{
f>>t;
while(t--)
{
f>>x>>y>>z>>a>>b>>c>>n;
int aux[3][3];
rez(aux,n-2);
g<<aux[0][2]*x+aux[1][2]*y+aux[2][2]*z<<"\n";
}
return 0;
}