Pagini recente » Cod sursa (job #2573216) | Cod sursa (job #1267599) | Cod sursa (job #2448601) | Cod sursa (job #1171501) | Cod sursa (job #2351358)
#include <bits/stdc++.h>
#define dim 65
using namespace std;
ifstream f("suma4.in");
ofstream g("suma4.out");
int n,a[dim][dim][dim],b[dim][dim][dim],s,nr ,i ,j, k , num;
int main()
{
f >> n ;
for ( i = 1 ; 0 < n ; i++ )
{
for ( j = 1 ; j <= i ; j++ )
{
for ( k = 1 ; k <= i ; k++ )
{
int x;
f >> x;
a[i][j][k] = b[i][j][k] = x;
n--;
}
}
}
g << i-1 << " ";
for (int lin = i-1 ; lin >= 1 ; lin-- )
for (int col = 1 ; col <= lin ; col++ )
for (int level =1 ; level <= lin ; level++ )
{
if (a[lin+1][col][level]<=a[lin+1][col][level+1])
num = a[lin+1][col][level];
else
num = a[lin+1][col][level+1];
if( num > a[lin+1][col+1][level])
num = a[lin+1][col+1][level];
if( num > a[lin+1][col+1][level+1])
num = a[lin+1][col+1][level+1];
a[lin][col][level] = a[lin][col][level]+num;
}
s = a[1][1][1];
g << s <<'\n';
g << 1 <<" ";
int lin = 1, col = 1;
i = 1;
while (s)
{
nr = nr+i*i;
s = s-b[i][lin][col];
i++;
if( s )
{
if( a[i][lin][col+1] == s )
col++;
else
if( a[i][lin+1][col] == s)
lin++;
else
if ( a[i][lin+1][col+1] == s )
lin++,col++;
g << nr+(lin-1)*i+col <<" ";
}
}
return 0;
}