Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<math.h>
- using namespace std;
- int OptimalStrategyOfGame(int arr[],int n){
- int op_val[n][n];
- for(int gap=0;gap<n;gap++){
- for(int i=0,j=gap;j<n;i++,j++){
- int x=(i+2<=j)?op_val[i+2][j]:0;
- int y=(i+1<=j-1)?op_val[i+1][j-1]:0;
- int z=(i<=j-2)?op_val[i][j-2]:0;
- op_val[i][j]=max((arr[i]+min(x,y)),(arr[j]+min(y,z)));
- }
- }
- return op_val[0][n-1];
- }
- int main(){
- int arr1[] = { 8, 15, 3, 7 };
- int n = 4;
- cout<<OptimalStrategyOfGame(arr1, n)<<endl;
- int arr2[] = { 2, 2, 2, 2 };
- n = 4;
- cout<<OptimalStrategyOfGame(arr2, n)<<endl;
- int arr3[] = { 20, 30, 2, 2, 2, 10 };
- n = 6;
- cout<<OptimalStrategyOfGame(arr3, n)<<endl;
- return 0;
- }
Add Comment
Please, Sign In to add comment