2696

#include
#include
#include
#include
using namespace std;
int ans[1000];
int a,b,c,d,e,f,g,h,tem;
int f1(int i)
{
 if(ans[i]>0)
  return ans[i];
 if(i&1)
 {
  tem=(d*f1(i-1)+e*f1(i-2)-f*f1(i-3))%g;
  ans[i]=tem>=0?tem:(tem+g);
  return ans[i];
 }
 else{
  tem=(f*f1(i-1)-d*f1(i-2)+e*f1(i-3))%h;
  ans[i]=tem>=0?tem:(tem+h);
  return ans[i];
 }
}
int main()
{
 int i,n;
 scanf("%d",&n);
 while(n--)
 {
  scanf("%d%d%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g,&h,&i);
  memset(ans,-1,sizeof(ans));
  ans[0]=a;
  ans[1]=b;
  ans[2]=c;
  printf("%d/n",f1(i));
 }
 return 0;


}

你可能感兴趣的:(include,c)