Вложенность коробок - C (СИ)

Узнай цену своей работы

Формулировка задачи:

На столе лежат две коробки размерами A1xB1xC1 и A2xB2xC2. Выяснить, возможно ли одну из этих коробок поставить в другую, если разрешено повороты коробок через любое ребро на угол 90 градусов. Входные данные С клавиатуры вводятся целые числа A1, B1, C1 и A2, B2, C2. Все числа натуральные и не больше 1000. Выходные данные На экран выводится одно число:
  • 0 - если коробки равные,
  • 1 - если вторую нужно поместить в первую,
  • 2 - если первую нужно поместить во вторую,
  • -1 - иначе
Решение:
#include <stdio.h>
#include <stdlib.h>
 
int variants[6][3];
 
int main()
{
    int a1, b1 ,c1;
    int a2, b2, c2;
    int temp, out, i;
 
    out = 100;
 
    scanf("%d %d %d", &a1, &b1, &c1);
    scanf("%d %d %d", &a2, &b2, &c2);
 
    temp = (a1+b1+c1) - (a2+b2+c2);
    if(temp > 0) out = 1;
    if(temp < 0) out = 2;
 
    if(a1 == a2 && b1 == b2 && c1 == c2) {
        out = 0;
    }
 
    if(out == 100) {
        out = -1;
        fill(a1, b1, c1);
 
        for(i = 1; i < 4; i++) {
            if(variants[i][1] == a2 && variants[i][2] == b2 && variants[i][3] == c2) {
                out = 0;
                break;
            }
        }
    }
 
    printf("%d", out);
    return 0;
}
 
void fill(a, b, c) {
    variants[1][1] = b;
    variants[1][2] = a;
    variants[1][3] = c;
 
    variants[2][1] = c;
    variants[2][2] = a;
    variants[2][3] = b;
 
    variants[3][1] = c;
    variants[3][2] = b;
    variants[3][3] = a;
}

Решение проходит не все проверочные тесты, что может быть упущено?

Решение задачи: «Вложенность коробок»

textual
Листинг программы
temp = (a1+b1+c1) - (a2+b2+c2);
 if(temp > 0) out = 1;
 if(temp < 0) out = 2;

Объяснение кода листинга программы

  1. Сначала происходит вычисление суммы трех слагаемых: a1 + b1 + c1.
  2. Затем происходит вычисление суммы трех других слагаемых: a2 + b2 + c2.
  3. Разность между полученными суммами сохраняется в переменной temp.
  4. Далее происходит проверка значения переменной temp.
  5. Если temp больше нуля, то значение переменной out устанавливается равным 1.
  6. Если temp меньше нуля, то значение переменной out устанавливается равным 2.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.6 из 5
Похожие ответы