PKU 2696 A Mysterious Function
http://poj.org/problem?id=2696
書いてあるような関数を実装する。
動的計画法。%で負の値にならないようにする。
int dp[1001]; main(){ int t; cin>>t; while(t--){ int a,b,c,d,e,f,g,h,i; cin>>a>>b>>c>>d>>e>>f>>g>>h>>i; dp[0]=a; dp[1]=b; dp[2]=c; for(int j=3;j<=i;j++){ if(j%2)dp[j]=((d*dp[j-1]+e*dp[j-2]-f*dp[j-3])%g+g)%g; else dp[j]=((f*dp[j-1]-d*dp[j-2]+e*dp[j-3])%h+h)%h; } cout<<dp[i]<<endl; } }