Paste Search Dynamic
Recent pastes
solve
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define PR(x) printf("%dn",x)
  4. const int MAXSIZE=5003;
  5. #define y1 aasdfasdfasdf
  6.  
  7. int solving(int N,int P[MAXSIZE],int Q[MAXSIZE],int R[MAXSIZE],int S[MAXSIZE], int j,int n){
  8.         int value;
  9.                 switch(j){
  10.                         case 0: value= P[n-1]; break;
  11.                         case 1: value= Q[n-1]; break;
  12.                         case 2: value= R[n-1]; break;
  13.                         case 3: value= S[n-1]; break;
  14.                         default: value=0; break;
  15.                 }
  16.         if(n == N){
  17.                 return value;
  18.         }
  19.         int result = int_max;
  20.         int sum=0;
  21.         for(int i=0;i<4;i++){
  22.                 if(i==j) continue;
  23.                 result = min(result,solving(N,P,Q,R,S,i,n+1));
  24.         }
  25.  
  26.         return result+value;
  27. }
  28.  
  29. int solve(int N,int P[MAXSIZE],int Q[MAXSIZE],int R[MAXSIZE],int S[MAXSIZE])
  30. {
  31.  
  32.         return solving(N,P,Q,R,S,-1,0);
  33.  
  34.  
  35. }
  36.  
  37. int main()
  38. {
  39.         int i,j,n,test,k,as,bs;
  40.         int p[MAXSIZE];
  41.         int q[MAXSIZE];
  42.         int r[MAXSIZE];
  43.         int s[MAXSIZE];
  44.  
  45.         scanf("%d",&test);
  46.         while(test--)
  47.         {
  48.                 scanf("%d",&n);
  49.                 for(i=0;i<n;i++)
  50.                         scanf("%d %d %d %d",&p[i],&q[i],&r[i],&s[i]);
  51.                 printf("%dn",solve(n,p,q,r,s));
  52.         }
  53.  
  54.         return 0;
Parsed in 0.011 seconds