Pagini recente » Cod sursa (job #1895606) | Cod sursa (job #940342) | Cod sursa (job #2911413) | Cod sursa (job #605567) | Cod sursa (job #1494308)
#include<fstream>
#define mod 666013
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
int x,y,z,aa,b,c,n,fin,t,i,j,k,m[4][4],cc[4][1],p[4][4];
void inmult(int l[][],int b[][])
{
int d[3][3];
d[0][0]=d[0][1]=d[0][2]=d[1][0]=d[1][1]=d[1][2]=d[2][0]=d[2][1]=d[2][2]=0;
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
{
for(k=0;k<=2;k++)
{
d[i][j]+=l[i][j]*b[k][i];
}
}
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
l[i][j]=d[i][j];
}
void exp(int n)
{
p[0][0]=p[0[1]=p[0][2]=p[1][0]=p[1][1]=p[1][2]=p[2][0]=p[2][1]=p[2][2]=1;
while(n>0)
{
if(n%2==1)
{
inmult(p,m);
n--;
}
inmult(x,x);
n/=2;
}
}
int main()
{
f>>t;
while(t--)
{
fin=0;
f>>x>>y>>z>>aa>>b>>c>>n;
m[0][0]=0;
m[0][1]=1;
m[0][2]=0;
m[1][0]=0;
m[1][1]=0;
m[1][2]=1;
m[2][0]=c;
m[2][1]=b;
m[2][2]=aa;
cc[0][0]=x;
cc[1][0]=y;
cc[2][0]=z;
exp(n);
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
g<<p[i][j]<<" ";
g<<"\n";
}
g<<fin<<"\n";
}
return 0;
}