Advertisement
a53

smax

a53
Feb 6th, 2018
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3. ifstream f ("smax.in");
  4. ofstream g ("smax.out");
  5. short int n,A[101][101][101],D[101][101][101];
  6.  
  7. void citeste()
  8. {
  9. f>>n;
  10. for(short int i=1;i<=n;i++)
  11. for(short int j=1;j<=n;j++)
  12. for(short int k=1;k<=n;k++)
  13. {
  14. f>>A[i][j][k];
  15. }
  16. }
  17.  
  18. void rezolva()
  19. {
  20. short int i,j,k;
  21. for(i=n;i>=1;i--)
  22. for(j=n;j>=1;j--)
  23. for(k=n;k>=1;k--)
  24. D[i][j][k]=A[i][j][k]+max(max(D[i+1][j][k],D[i][j+1][k]),D[i][j][k+1]);
  25. g<<3*n-2<<'\n'<<D[1][1][1]<<'\n';
  26. i=j=k =1;
  27. g<<i<<' '<<j<<' '<<k<<'\n';
  28. do
  29. {
  30. if(k!=n&&D[i][j][k]-A[i][j][k]==D[i][j][k+1])
  31. k++;
  32. else
  33. if(j!=n&&D[i][j][k]-A[i][j][k]==D[i][j+1][k])
  34. j++;
  35. else
  36. i++;
  37. g<<i<<' '<<j<<' '<<k<<'\n';
  38. }
  39. while(i!=n||j!=n||k!=n);
  40. }
  41.  
  42. int main()
  43. {
  44. citeste();
  45. rezolva();
  46. return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement