А от себя добавлю еще два требования:
1) Нельзя решать задачи неадекватно малыми ресурсами.
2) Нельзя решать задачи в неадекватных формулировках.