Nu aveti permisiuni pentru a descarca fisierul grader_test8.ok
Cod sursa(job #1517019)
Utilizator | Data | 3 noiembrie 2015 19:47:43 | |
---|---|---|---|
Problema | Iepuri | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.59 kb |
#include <iostream>
#include <fstream>
#define MOD 666013
using namespace std;
ifstream f("iepuri.in");
ofstream g("iepuri.out");
int cc[5][5],aa[5][5],bb[5][5],dd[5][5];
int x,y,z,A,B,C,n,t,i,j,k;
void Inm_mat(int a[][5], int b[][5], int c[][5])
{
int i,j,k;
for(i=1;i<=3;i++)
for(j=1;j<=3;j++)
for(k=1;k<=3;k++)
c[i][j]+=(a[i][k]*b[k][j])%MOD;
}
void copycat(int b[][5],int c[][5])
{
int i,j;
for (i=1;i<=3;i++)
for(j=1;j<=3;j++)
b[i][j]=c[i][j];
}
void reinit()
{
for (i=1;i<=3;i++)
for(j=1;j<=3;j++)
aa[i][j]=bb[i][j]=cc[i][j]=dd[i][j]=0;
}
int main()
{
f>>t;
for(;t;t--)
{
f>>x>>y>>z>>A>>B>>C>>n;
n-=2;
aa[1][2]=1;
aa[2][3]=1;
aa[3][1]=C;
aa[3][2]=B;
aa[3][3]=A;
bb[1][1]=1;
bb[2][2]=1;
bb[3][3]=1;
for (i=0;(1<<i)<=n;++i)
{
if (((1<<i) & n) > 0)
{
Inm_mat(aa,bb,cc);
copycat(bb,cc);
for(k=1;k<=3;k++)
{
for(j=1;j<=3;j++)
g<<bb[k][j]<<" ";
g<<"\n";
}
g<<"\n";
}
Inm_mat(aa,aa,dd);
copycat(aa,dd);
for(k=1;k<=3;k++)
{
for(j=1;j<=3;j++)
g<<aa[k][j]<<" ";
g<<"\n";
}
g<<"\n";
}
reinit();
}
return 0;
}