Advertisement
jeff69

Untitled

Apr 1st, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. typedef long long ll;
  4. using namespace std;
  5. int a[3][200002];
  6. int n; ll ret = (1 << 22);
  7. /*
  8. 4
  9. 13 7 5
  10. 7 13 6
  11. 14 3 12
  12. 15 6 16
  13. 0
  14. */
  15.  
  16.  
  17. ll solve(int x, int y){
  18. if (x == 1 && y == n - 1){
  19. return a[x][y];
  20. }
  21. else if (x<0 || x>2 || y >= n)return (1<<22);
  22.  
  23. ret = min(a[x][y] + solve(x + 1, y), ret);
  24. ret = min(a[x][y] + solve(x + 1, y + 1), ret);
  25. ret = min(a[x][y] + solve(x - 1, y + 1), ret);
  26. ret = min(a[x][y] + solve(x, y + 1),ret);
  27.  
  28. return ret;
  29. }
  30. int main(){
  31. while (1)
  32. {
  33.  
  34. cin >> n;
  35. if (n== 0)return 0;
  36.  
  37. for (int i = 0; i < n; i++)
  38. {
  39. for (int j = 0; j < 3; j++)
  40. {
  41. cin >> a[j][i];
  42. }
  43. }
  44. cout << solve(1, 0);
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54. }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement