Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>using namespace std;int id[24][4] ={{0, 1, 2, 3}, {0, 1, 3, 2}, {0, 2, 1, 3}, {0, 2, 3, 1}, {0, 3, 1, 2}, {0, 3, 2, 1},{1, 0, 2, 3}, {1, 0, 3 ,2}, {1, 2, 0, 3}, {1, 2, 3, 0}, {1, 3, 0, 2}, {1, 3, 2, 0},{2, 0, 1, 3}, {2, 0, 3 ,1}, {2, 1, 0, 3}, {2, 1, 3, 0}, {2, 3, 0, 1}, {2, 3, 1, 0},{3, 0, 1, 2}, {3, 0, 2, 1}, {3, 1, 0, 2}, {3, 1, 2, 0}, {3, 2, 0, 1}, {3, 2, 1, 0}};bool is(double s){return abs(24 - s) < 0.00001;}bool calc1_3(double s1, double s2){return is(s1 + s2) || is(s1 - s2) || is(s1 * s2) || is(s1 / s2);}bool calc1_2(double s1, double c, double d){return calc1_3(s1, c + d) ||calc1_3(s1, c - d) ||calc1_3(s1, c * d) ||calc1_3(s1, c / d) ;