• Какой алгоритм проверки условия?

    Формально у Вас недоопределенная (количество переменных больше чем количество уравнений) система целочисленных линейных уравнений, которую необходимо решить в неотрицательных целых числах:
    x - кол-во списаний по правилу SKU-1+SKU-2
    y - кол-во списаний по правилу SKU-2+SKU-3
    z - кол-во списаний по правилу SKU-1+SKU-3
    t - кол-во списаний по правилу SKU-2+SKU-2
    SKU-1: 1*x + 0*y + 1*z + 0*t = 5
    SKU-2: 1*x + 1*y + 0*z + 2*t = 5
    SKU-3: 0*x + 1*y + 1*z + 0*t = 0

    Готового алгоритма для общего случая не подскажу.
    Из-за того, что система недоопределенная она может иметь несколько решений, и поиск одного из них обычно ведется каким-либо поиском с постепенной фиксацией значений переменных.

    P.S. Не увидел абзац про условия (по 2 раза) - т.е. дополняем уравнениями:
    x + y + z = 2
    t = 2
    и конкретно в Вашем случае система становится полностью определенной и не имеющей решения в неотрицательных числах (из-за того, что SKU-3 было 0, а значит y=0 и z=0). :-(
    Ответ написан
    2 комментария
  • Какой алгоритм проверки условия?

    Therapyx
    @Therapyx
    Data Science
    Дак по первому условию может быть списанно любые 2 вида товаров в кол-ве 3 шт.
    Если первое списание будет полностью из SKU1 и второе в размере двух единиц из SKU1 и одной из SKU2, то в SKU2 остается ровно 4 для двух списываний из 2го условия.
    Или я видимо не так понял первое условие, но "Любые 2 вида товароров 3шт". Все таки должно подразумивать в себе и возможность комбинирования этих товаров, там ведь не указанно, что списание может быть любым, но все 3 штуки должны быть списанны именно из 1го SKU
    Ответ написан
    4 комментария