Pagini recente » Cod sursa (job #1333482) | Cod sursa (job #2827540) | Cod sursa (job #2127192) | Cod sursa (job #1568751) | Cod sursa (job #2618979)
#include <bits/stdc++.h>
using namespace std;
int t,x1, x2, x3, a, b, c;
void prod(int a1[4][4], int r) {
int i, j ,k, y, s1, s2;
int mult[4][4], mult1[4][4];
for(i = 1; i <= 3; i++)
for(j = 1; j <= 3; j++)
{
mult[i][j]= a1[i][j];
}
for(i = 1; i <= 3; i++)
for(j = 1; j <= 3; j++)
{
mult1[i][j] = 0;
}
for( y =1; y <= r; y++) {
for( i = 1; i <= 3; i++)
{for( j = 1; j <= 3; j++)
{for( k = 1; k <=3 ; k++)
{
mult1[i][j] += a1[i][k] * mult[k][j];
}
}
}
for(s1 = 1; s1 <= 3; s1++)
for(s2 = 1; s2 <= 3; s2++)
{
mult[s1][s2]= mult1[s1][s2];
}
for(s1 = 1; s1 <= 3; s1++)
for(s2 = 1; s2 <= 3; s2++)
{
mult1[s1][s2] = 0;
}
}
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++) {
a1[i][j] = mult[i][j];
}
}
}
int main() {
freopen("iepuri.in", "r", stdin);
freopen("iepuri.out", "w", stdout);
scanf("%d",&t);
int r, r1, i,j;
int mult[4][4], a1[4][4];
int y;
for(int y = 1; y <= t;y++) {
scanf("%d %d %d %d %d %d %d", &x1, &x2, &x3, &a, &b, &c, &r);
for(i = 1; i <= 3; ++i)
for(j = 1; j <= 3; ++j)
{
mult[i][j]=0;
}
for(i = 1; i <= 3; ++i)
for(j = 1; j <= 3; ++j)
{
a1[i][j]=0;
}
a1[1][1] = a;
a1[1][2] = b;
a1[1][3] = c;
a1[2][1] = 1;
a1[3][2] = 1;
prod(a1,r-3);
int t1;
t1 = a1[1][1]*x3 + a1[1][2]*x2 + a1[1][3] * x1;
printf("%d\n",t1);
}
return 0;
}