Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

Помощ за задача с куб

Помощ за задача с куб

Мнениеот Гост » 09 Май 2022, 10:14

Screenshot 2022-05-09 111349.jpg
Screenshot 2022-05-09 111349.jpg (145.31 KiB) Прегледано 468 пъти
Гост
 

Re: Помощ за задача с куб

Мнениеот peyo » 16 Май 2022, 06:56

Гост написа:
Screenshot 2022-05-09 111349.jpg


Без да съм пробвал кода интересната част от задачата ще изглежда така:

Код: Избери целия код
typedef vector<vector<vector<char>>> Cube_t;

bool check_for_7star(Cube_t& cube, size_t i, size_t j, size_t k, std::map<char, int> & results)
{
   char symbol = cube[i][j][k];
   if ((symbol == cube[i + 1][j][k]) && (symbol == cube[i - 1][j][k]) &&
      (symbol == cube[i][j + 1][k]) && (symbol == cube[i][j - 1][k]) &&
      (symbol == cube[i][j][k + 1]) && (symbol == cube[i][j][k - 1])) {
      results[symbol] += 1;
   }
}

void enumerate_7stars(Cube_t& cube)
{
   size_t N = cube.size();
   std::map<char, int> results;
   for (size_t i = 1; i < N - 1; i++) {
      for (size_t j = 1; j < N -1; j++) {
         for (size_t k = 1; k < N - 1; k++) {
            check_for_7star(cube, i, j, k, results);
         }
      }
   }
   for (auto const& pair : results) {
      std::cout << pair.first << " -> " << pair.second << "\n";
   }
}
peyo
Математик
 
Мнения: 1768
Регистриран на: 16 Мар 2019, 09:35
Местоположение: София
Рейтинг: 664


Назад към C, C++



Кой е на линия

Регистрирани потребители: Google Adsense [Bot], Google [Bot]

Форум за математика(архив)