diff options
Diffstat (limited to 'tests/sysy_lvX/062_multiplication_puzzle.sy')
| -rw-r--r-- | tests/sysy_lvX/062_multiplication_puzzle.sy | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/sysy_lvX/062_multiplication_puzzle.sy b/tests/sysy_lvX/062_multiplication_puzzle.sy new file mode 100644 index 0000000..1ac205a --- /dev/null +++ b/tests/sysy_lvX/062_multiplication_puzzle.sy @@ -0,0 +1,32 @@ +int a[6]={10,1,50,50,20,5}; +int dp[10][10]; +int main() +{ + int n; + n=6; + + int k,i,t,j,aa; + k=3; + while(k<=n) + { + i=0; + while(i<n-k+1) + { + j=i+k-1; + t=i+1; + while(t<j) + { + aa= dp[i][t]+dp[t][j]+a[i]*a[t]*a[j]; + if(!dp[i][j]||aa<dp[i][j]) + { + dp[i][j]=aa; + } + t=t+1; + } + i=i+1; + } + k=k+1; + } + putint(dp[0][n-1]); + return 0; +} |
