Pagini recente » Cod sursa (job #2309607) | Cod sursa (job #888784) | Cod sursa (job #1675892) | Cod sursa (job #1842929) | Cod sursa (job #1877963)
#include <iostream>
#include <fstream>
#include <vector>
#define K 4
#define MOD 666013;
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
long long n,x,y,z,a1,b1,c1,t;
vector<vector<long long> >A(K+1,vector<long long>(K+1));
vector<vector<long long> >B(K+1,vector<long long>(K+1));
vector<vector<long long> >AUX(K+1,vector<long long>(K+1));
vector<vector<long long> > inmultire(vector<vector<long long> > a,vector<vector<long long> > b)
{
vector<vector<long long> > c (K+1,vector<long long>(K+1));
for(int i=1;i<K;i++)
for(int j=1;j<K;j++){
for(int k=1;k<K;k++)
{
c[i][j]=(c[i][j]+a[i][k]*b[k][j])%MOD;
}
}
return c;
}
int main()
{
f>>t;
for(int i=0;i<t;i++)
{
f >> a1 >> b1 >> c1 >> x >> y >> z>> n;
A[1][1]=0;
A[1][2]=0;
A[1][3]=z;
A[2][1]=1;
A[2][2]=0;
A[2][3]=y;
A[3][1]=0;
A[3][2]=1;
A[3][3]=x;
B[1][1]=a1;
B[1][2]=b1;
B[1][3]=c1;
while(n)
{
if(n%2)
{
B=inmultire(B,A);
}
A=inmultire(A,A);
n=n/2;
}
g << B[1][1] << "\n";
}
return 0;
}