Example #1
0
int main(){

  int C[] = {2,5,3, 6};
  int N = 10;

  int length  = sizeof(C) / sizeof(int);
  printf("coin change : %d\n", coin_change(C, length, N));

  return 0;
}
Example #2
0
File: 562.cpp Project: fkrafi/UVa
int main(){
	freopen("562.txt", "r", stdin);
	int t, N, i, sum, avg;
	scanf("%d", &t);
	while( t-- ){
		scanf("%d", &N);
		sum = 0;
		for(i=0; i<N; i++){
			scanf("%d", &coins[i]);
			sum += coins[i];
		}
		avg = sum/2;
		init(sum);
		coin_change(N, avg);
		while( can[avg] == 0 && avg>=0 )avg--;
		sum = sum - avg;
		printf("%d\n", ABS(sum-avg));
	}
	return 0;
}
int main(){
	int arr[] = { 10, 22, 9, 33, 21, 50, 41, 60 };
  	int n = sizeof(arr)/sizeof(arr[0]);
  	printf("Length of LIS is %d\n", longest_increasing_subsequence( arr, n ) );
  	
  	{
  		char X[] = "AGGTAB";
  		char Y[] = "GXTXAYB";
  
  		int m = strlen(X);
  		int n = strlen(Y);
  
  		printf("Length of LCS is %d\n", longest_common_subs( X,m, Y, n) );
	}
	
	{
		int cost[5][5] = { {1, 2, 3},
                      	 {4, 8, 2},
                      	 {1, 5, 3} };
   		printf("\n%d ", min_cost(cost, 2, 2));
	}
	
	{
		int arr[] = {1, 2, 5};
    	int m = sizeof(arr)/sizeof(arr[0]);
    	int n = 11;
    	printf("\ncoin change : %d ", coin_change(arr, m, n));
	}
	
	{
		int val[] = {60, 100, 120};
    	int wt[] = {10, 20, 30};
    	int  W = 50;
    	int n = sizeof(val)/sizeof(val[0]);
    	printf("\n%d", knapsack(wt, W, val, n));
	}
	
	{
		char seq[] = "GEEKS FOR GEEKS";
    	printf ("\nThe lnegth of the LPS is %d", longest_palindromic_subs(seq));
	}
	
	{
		int arr[] = {1, 5, 8, 9, 10, 17, 17, 20};
    	int size = sizeof(arr)/sizeof(arr[0]);
    	printf("\nMaximum Obtainable Value is %d\n", cut_rod(arr, size));
	}
	
	{
		int arr[] = {1, 101, 2, 3, 100, 4, 5};
    	int n = sizeof(arr)/sizeof(arr[0]);
    	printf("\nSum of maximum sum increasing subsequence is %d\n",
           max_increasing_subs( arr, n ) );
	}
	
	{
		int arr[] = {0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5,
              13, 3, 11, 7, 15};
  		int n = sizeof(arr)/sizeof(arr[0]);
  		printf("\nLength of LBS is %d\n", bitonic_subs( arr, n ) );
	}
	
	{
		char str[] = "ababbbabbababa";
   		printf("Min cuts needed for Palindrome Partitioning is %d",
           min_pal_partition(str));
	}
	
	{
		int arr[] = {1, 3, 6, 1, 0, 9};
    	int size = sizeof(arr)/sizeof(int);
    	printf("\nMinimum number of jumps to reach end is %d ", min_jumps(arr,size));
	}
	{
		int n = 150;
		printf("\n%d ugly number is : %d",n,find_nth_ugly(n));
	}
	
	{
		int M[6][5] =  {{0, 1, 1, 0, 1}, 
        	           {1, 1, 0, 1, 0}, 
            	       {0, 1, 1, 1, 0},
                	   {1, 1, 1, 1, 0},
                   	   {1, 1, 1, 1, 1},
                	   {0, 0, 0, 0, 0}};
                
  	    print_max_square(M,6,5);
	}
	
	{
		char str[] = "forgeeksskeegfor";
    	printf("\nLength is: %d\n", print_longest_pal( str ) );
	}
	return 0;
}