#include <iostream>
using namespace std;
#define FIRST_DIM (10)
#define SECOND_DIM (10)
#define THIRD_DIM (10)
int *** ThreeDimensionalArray;
int main(void) {
int value = 0;
ThreeDimensionalArray = new int**[FIRST_DIM];
for (int firstDimIdx = 0; firstDimIdx < FIRST_DIM; firstDimIdx++)
{
ThreeDimensionalArray[firstDimIdx] = new int*[SECOND_DIM];
for(int secondDimIdx = 0; secondDimIdx < SECOND_DIM; secondDimIdx++)
{
ThreeDimensionalArray[firstDimIdx][secondDimIdx] = new int[THIRD_DIM];
for(int thirdDimIdx = 0; thirdDimIdx < THIRD_DIM; thirdDimIdx++)
{
ThreeDimensionalArray[firstDimIdx][secondDimIdx][thirdDimIdx] = value;
value++;
}
}
}
// Work backward
for (int firstDimIdx = FIRST_DIM-1; firstDimIdx >= 0; firstDimIdx--)
{
for(int secondDimIdx = SECOND_DIM-1; secondDimIdx >= 0; secondDimIdx--)
{
for(int thirdDimIdx = THIRD_DIM-1; thirdDimIdx >= 0; thirdDimIdx--)
{
cout << ThreeDimensionalArray[firstDimIdx][secondDimIdx][thirdDimIdx] << " ";
}
cout << "\n";
}
cout << "\n";
}
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBGSVJTVF9ESU0gKDEwKQojZGVmaW5lIFNFQ09ORF9ESU0gKDEwKQojZGVmaW5lIFRISVJEX0RJTSAoMTApCgppbnQgKioqIFRocmVlRGltZW5zaW9uYWxBcnJheTsKCmludCBtYWluKHZvaWQpIHsKCWludCB2YWx1ZSA9IDA7CglUaHJlZURpbWVuc2lvbmFsQXJyYXkgPSBuZXcgaW50KipbRklSU1RfRElNXTsKCQoJZm9yIChpbnQgZmlyc3REaW1JZHggPSAwOyBmaXJzdERpbUlkeCA8IEZJUlNUX0RJTTsgZmlyc3REaW1JZHgrKykKCXsKCQlUaHJlZURpbWVuc2lvbmFsQXJyYXlbZmlyc3REaW1JZHhdID0gbmV3IGludCpbU0VDT05EX0RJTV07CgkJZm9yKGludCBzZWNvbmREaW1JZHggPSAwOyBzZWNvbmREaW1JZHggPCBTRUNPTkRfRElNOyBzZWNvbmREaW1JZHgrKykKCQl7CgkJICBUaHJlZURpbWVuc2lvbmFsQXJyYXlbZmlyc3REaW1JZHhdW3NlY29uZERpbUlkeF0gPSBuZXcgaW50W1RISVJEX0RJTV07CgkJICBmb3IoaW50IHRoaXJkRGltSWR4ID0gMDsgdGhpcmREaW1JZHggPCBUSElSRF9ESU07IHRoaXJkRGltSWR4KyspCgkJICB7CgkJICAJVGhyZWVEaW1lbnNpb25hbEFycmF5W2ZpcnN0RGltSWR4XVtzZWNvbmREaW1JZHhdW3RoaXJkRGltSWR4XSA9IHZhbHVlOwoJCSAgCXZhbHVlKys7CgkJICB9CgkJfQoJfQoJCgkvLyBXb3JrIGJhY2t3YXJkCglmb3IgKGludCBmaXJzdERpbUlkeCA9IEZJUlNUX0RJTS0xOyBmaXJzdERpbUlkeCA+PSAwOyBmaXJzdERpbUlkeC0tKQoJewoJCWZvcihpbnQgc2Vjb25kRGltSWR4ID0gU0VDT05EX0RJTS0xOyBzZWNvbmREaW1JZHggPj0gMDsgc2Vjb25kRGltSWR4LS0pCgkJewoJCQlmb3IoaW50IHRoaXJkRGltSWR4ID0gVEhJUkRfRElNLTE7IHRoaXJkRGltSWR4ID49IDA7IHRoaXJkRGltSWR4LS0pCgkJCXsKCQkJICBjb3V0IDw8IFRocmVlRGltZW5zaW9uYWxBcnJheVtmaXJzdERpbUlkeF1bc2Vjb25kRGltSWR4XVt0aGlyZERpbUlkeF0gPDwgIiAiOwoJCQl9CgkJCWNvdXQgPDwgIlxuIjsKCQl9CgkJY291dCA8PCAiXG4iOwoJfQoJCSAgCgoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0K