Skip to content

Instantly share code, notes, and snippets.

@chenshuo
Created February 2, 2012 11:39
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save chenshuo/1723099 to your computer and use it in GitHub Desktop.
Save chenshuo/1723099 to your computer and use it in GitHub Desktop.
A puzzle solved with breadth-first search
// FIXME: memory leaks
#include <stdio.h>
#include <deque>
#include <set>
struct Node
{
int value;
Node* parent;
const char* path;
Node(int val, Node* parent_, const char* path_)
: value(val),
parent(parent_),
path(path_)
{
}
};
void print(Node* tail)
{
if (tail != NULL)
{
print(tail->parent);
printf("%s %d\n", tail->path, tail->value);
}
}
typedef std::deque<Node*> Queue;
void bfs(Node* node)
{
const bool trace = false;
std::set<int> seen;
Queue queue;
queue.push_back(node);
while (!queue.empty())
{
Node* front = queue.front();
queue.pop_front();
const int val = front->value;
if (trace) printf("%d :", val);
if (seen.find(val) == seen.end())
{
seen.insert(val);
if (val == 2017)
{
printf("found 2017\n");
printf(" 2011\n");
print(front);
printf(" -5 2012\n");
break;
}
else
{
if (val % 2 == 1)
{
int newval = (val+7)/2;
if (trace) printf("lu %d ", newval);
Node* next = new Node(newval, front, "+7/2");
queue.push_back(next);
}
if (val % 2 == 0)
{
int newval = val/2 + 7;
if (trace) printf("ld %d ", newval);
Node* next = new Node(newval, front, "/2+7");
queue.push_back(next);
}
{
int newval = val*3 - 5;
if (trace) printf("ru %d ", newval);
Node* next = new Node(newval, front, "*3-5");
queue.push_back(next);
}
{
int newval = (val-5)*3;
if (trace) printf("rd %d ", newval);
Node* next = new Node(newval, front, "-5*3");
queue.push_back(next);
}
}
}
if (trace) printf("\n");
}
}
int main()
{
Node root(2018, NULL, " +7");
bfs(&root);
}
--- 2012.cc 2012-02-01 14:45:38.000000000 +0800
+++ 2012a.cc 2012-02-01 15:28:02.000000000 +0800
@@ -1,5 +1,5 @@
#include <stdio.h>
-#include <deque>
+#include <boost/ptr_container/ptr_vector.hpp>
#include <set>
struct Node
@@ -31,12 +29,13 @@
{
const bool trace = false;
std::set<int> seen;
- Queue queue;
+ boost::ptr_vector<Node> queue;
queue.push_back(node);
+ int current = 0;
while (!queue.empty())
{
- Node* front = queue.front();
- queue.pop_front();
+ Node* front = &queue[current];
+ ++current;
const int val = front->value;
if (trace) printf("%d :", val);
if (seen.find(val) == seen.end())
@@ -87,6 +86,6 @@
int main()
{
- Node root(2018, NULL, " +7");
- bfs(&root);
+ Node* root = new Node(2018, NULL, " +7");
+ bfs(root);
}
@chenshuo
Copy link
Author

chenshuo commented Feb 2, 2012

a result:

$ ./a.out
found 2017
     2011
  +7 2018
/2+7 1016
/2+7 515
+7/2 261
+7/2 134
/2+7 74
-5*3 207
+7/2 107
+7/2 57
-5*3 156
-5*3 453
-5*3 1344
*3-5 4027
+7/2 2017
  -5 2012

@hrluo
Copy link

hrluo commented Feb 2, 2012

is it a puzzle? I guess? an operator puzzle? its rules are a bit strange, though...

@chenshuo
Copy link
Author

chenshuo commented Feb 2, 2012

@hrluo
Copy link

hrluo commented Feb 2, 2012

mmm, the fourth puzzle's algorithm may be interesting, let me work it out...

@chenshuo
Copy link
Author

chenshuo commented Feb 2, 2012

all 107 results:

2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 /2 +7 -5 *3 +7 /2 +7 /2 -5 *3 -5 *3 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 +7 /2 *3 -5 +7 /2 -5 *3 +7 /2 -5 *3 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 +7 /2 *3 -5 +7 /2 -5 *3 -5 *3 /2 +7 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 +7 /2 *3 -5 -5 *3 *3 -5 +7 /2 +7 /2 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 +7 /2 -5 *3 +7 /2 *3 -5 /2 +7 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 +7 /2 -5 *3 +7 /2 *3 -5 -5 *3 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 +7 /2 -5 *3 *3 -5 /2 +7 *3 -5 /2 +7 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 +7 /2 -5 *3 -5 *3 /2 +7 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 *3 -5 /2 +7 -5 *3 +7 /2 *3 -5 +7 /2 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 *3 -5 /2 +7 -5 *3 *3 -5 *3 -5 +7 /2 /2 +7 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 *3 -5 /2 +7 -5 *3 -5 *3 /2 +7 *3 -5 /2 +7 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 *3 -5 *3 -5 +7 /2 /2 +7 +7 /2 -5 *3 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 *3 -5 *3 -5 +7 /2 /2 +7 -5 *3 /2 +7 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 *3 -5 *3 -5 *3 -5 /2 +7 /2 +7 /2 +7 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 *3 -5 *3 -5 -5 *3 /2 +7 +7 /2 /2 +7 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 *3 -5 -5 *3 +7 /2 +7 /2 *3 -5 /2 +7 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 -5 *3 /2 +7 *3 -5 /2 +7 +7 /2 -5 *3 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 -5 *3 /2 +7 *3 -5 /2 +7 -5 *3 /2 +7 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 -5 *3 /2 +7 -5 *3 /2 +7 /2 +7 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 -5 *3 /2 +7 -5 *3 /2 +7 -5 *3 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 *3 -5 -5 *3 *3 -5 +7 /2 +7 /2 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 -5 *3 *3 -5 /2 +7 +7 /2 /2 +7 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 +7 /2 -5 *3 -5 *3 /2 +7 /2 +7 *3 -5 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 /2 +7 +7 /2 -5 *3 +7 /2 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 /2 +7 +7 /2 -5 *3 -5 *3 *3 -5 *3 -5 /2 +7 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 /2 +7 -5 *3 -5 *3 +7 /2 *3 -5 +7 /2 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 /2 +7 -5 *3 -5 *3 *3 -5 *3 -5 +7 /2 /2 +7 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 /2 +7 -5 *3 -5 *3 -5 *3 /2 +7 *3 -5 /2 +7 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 *3 -5 +7 /2 *3 -5 /2 +7 +7 /2 -5 *3 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 *3 -5 +7 /2 *3 -5 /2 +7 -5 *3 /2 +7 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 *3 -5 +7 /2 -5 *3 /2 +7 /2 +7 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 *3 -5 +7 /2 -5 *3 /2 +7 -5 *3 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 *3 -5 *3 -5 /2 +7 +7 /2 +7 /2 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 *3 -5 *3 -5 /2 +7 +7 /2 *3 -5 /2 +7 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 *3 -5 *3 -5 /2 +7 -5 *3 /2 +7 /2 +7 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 *3 -5 -5 *3 /2 +7 /2 +7 *3 -5 *3 -5 /2 +7 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 -5 *3 +7 /2 /2 +7 -5 *3 *3 -5 /2 +7 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 -5 *3 +7 /2 *3 -5 +7 /2 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 *3 -5 +7 /2 /2 +7 +7 /2 *3 -5 /2 +7 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 *3 -5 +7 /2 /2 +7 +7 /2 *3 -5 -5 *3 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 *3 -5 +7 /2 /2 +7 *3 -5 /2 +7 *3 -5 /2 +7 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 *3 -5 +7 /2 /2 +7 -5 *3 /2 +7 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 *3 -5 -5 *3 +7 /2 +7 /2 +7 /2 /2 +7 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 -5 *3 /2 +7 +7 /2 +7 /2 *3 -5 -5 *3 +7 /2 -5 *3 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 -5 *3 /2 +7 +7 /2 +7 /2 *3 -5 -5 *3 -5 *3 /2 +7 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 -5 *3 /2 +7 +7 /2 *3 -5 /2 +7 +7 /2 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 -5 *3 /2 +7 +7 /2 *3 -5 /2 +7 -5 *3 *3 -5 *3 -5 /2 +7 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 -5 *3 /2 +7 +7 /2 *3 -5 *3 -5 *3 -5 /2 +7 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 -5 *3 /2 +7 +7 /2 -5 *3 /2 +7 /2 +7 -5 *3 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 -5 *3 /2 +7 *3 -5 /2 +7 +7 /2 *3 -5 /2 +7 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 -5 *3 /2 +7 *3 -5 /2 +7 +7 /2 *3 -5 -5 *3 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 -5 *3 /2 +7 *3 -5 /2 +7 *3 -5 /2 +7 *3 -5 /2 +7 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 -5 *3 /2 +7 *3 -5 /2 +7 -5 *3 /2 +7 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 +7 /2 -5 *3 *3 -5 +7 /2 +7 /2 /2 +7 *3 -5 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 *3 -5 /2 +7 +7 /2 /2 +7 -5 *3 /2 +7 -5 *3 +7 /2 -5 *3 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 *3 -5 /2 +7 +7 /2 /2 +7 -5 *3 /2 +7 -5 *3 -5 *3 /2 +7 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 *3 -5 /2 +7 +7 /2 /2 +7 -5 *3 *3 -5 +7 /2 /2 +7 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 *3 -5 /2 +7 +7 /2 /2 +7 -5 *3 *3 -5 +7 /2 -5 *3 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 *3 -5 /2 +7 +7 /2 *3 -5 +7 /2 +7 /2 /2 +7 -5 *3 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 *3 -5 /2 +7 +7 /2 -5 *3 +7 /2 /2 +7 *3 -5 /2 +7 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 *3 -5 /2 +7 +7 /2 -5 *3 +7 /2 /2 +7 *3 -5 -5 *3 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 *3 -5 /2 +7 *3 -5 /2 +7 /2 +7 /2 +7 +7 /2 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 *3 -5 /2 +7 *3 -5 /2 +7 /2 +7 /2 +7 -5 *3 *3 -5 *3 -5 /2 +7 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 *3 -5 /2 +7 *3 -5 /2 +7 /2 +7 *3 -5 *3 -5 /2 +7 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 *3 -5 -5 *3 +7 /2 /2 +7 /2 +7 +7 /2 *3 -5 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 +7 /2 /2 +7 +7 /2 -5 *3 -5 *3 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 +7 /2 *3 -5 *3 -5 /2 +7 +7 /2 -5 *3 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 +7 /2 *3 -5 *3 -5 /2 +7 -5 *3 /2 +7 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 +7 /2 *3 -5 -5 *3 /2 +7 /2 +7 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 +7 /2 *3 -5 -5 *3 /2 +7 -5 *3 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 +7 /2 -5 *3 +7 /2 /2 +7 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 *3 -5 /2 +7 /2 +7 -5 *3 +7 /2 -5 *3 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 *3 -5 /2 +7 /2 +7 -5 *3 -5 *3 /2 +7 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 *3 -5 /2 +7 *3 -5 +7 /2 /2 +7 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 *3 -5 /2 +7 *3 -5 +7 /2 -5 *3 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 -5 *3 /2 +7 +7 /2 /2 +7 -5 *3 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 -5 *3 +7 /2 /2 +7 /2 +7 *3 -5 /2 +7 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 -5 *3 +7 /2 /2 +7 /2 +7 *3 -5 -5 *3 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 /2 +7 -5 *3 -5 *3 +7 /2 +7 /2 +7 /2 /2 +7 /2 +7 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 *3 -5 +7 /2 +7 /2 /2 +7 /2 +7 *3 -5 +7 /2 -5 *3 +7 /2 -5 *3 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 *3 -5 +7 /2 +7 /2 /2 +7 /2 +7 *3 -5 +7 /2 -5 *3 -5 *3 /2 +7 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 *3 -5 +7 /2 +7 /2 /2 +7 /2 +7 *3 -5 -5 *3 *3 -5 +7 /2 +7 /2 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 *3 -5 +7 /2 +7 /2 /2 +7 /2 +7 -5 *3 +7 /2 *3 -5 /2 +7 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 *3 -5 +7 /2 +7 /2 /2 +7 /2 +7 -5 *3 +7 /2 *3 -5 -5 *3 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 /2 +7 *3 -5 +7 /2 +7 /2 /2 +7 /2 +7 -5 *3 *3 -5 /2 +7 *3 -5 /2 +7 +7 /2 *3 -5 -5 = 2012
2011 +7 /2 +7 *3 -5 +7 /2 +7 /2 /2 +7 /2 +7 -5 *3 -5 *3 /2 +7 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 *3 -5 +7 /2 +7 /2 *3 -5 +7 /2 /2 +7 /2 +7 /2 +7 -5 *3 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 *3 -5 +7 /2 *3 -5 /2 +7 /2 +7 +7 /2 /2 +7 *3 -5 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 -5 *3 +7 /2 /2 +7 +7 /2 *3 -5 /2 +7 +7 /2 /2 +7 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 -5 *3 +7 /2 /2 +7 +7 /2 -5 *3 /2 +7 /2 +7 *3 -5 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 -5 *3 +7 /2 /2 +7 -5 *3 /2 +7 /2 +7 /2 +7 /2 +7 -5 *3 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 /2 +7 -5 *3 *3 -5 /2 +7 /2 +7 /2 +7 +7 /2 /2 +7 /2 +7 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 /2 +7 -5 *3 -5 *3 /2 +7 +7 /2 /2 +7 /2 +7 /2 +7 *3 -5 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 *3 -5 +7 /2 /2 +7 +7 /2 /2 +7 +7 /2 /2 +7 -5 *3 +7 /2 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 *3 -5 +7 /2 /2 +7 +7 /2 /2 +7 +7 /2 /2 +7 -5 *3 -5 *3 *3 -5 *3 -5 /2 +7 /2 +7 -5 = 2012
2011 +7 *3 -5 +7 /2 /2 +7 +7 /2 /2 +7 +7 /2 *3 -5 +7 /2 /2 +7 -5 *3 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 *3 -5 +7 /2 /2 +7 +7 /2 -5 *3 +7 /2 /2 +7 /2 +7 /2 +7 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 *3 -5 +7 /2 /2 +7 *3 -5 /2 +7 /2 +7 /2 +7 /2 +7 /2 +7 -5 *3 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 *3 -5 -5 *3 /2 +7 +7 /2 /2 +7 +7 /2 /2 +7 /2 +7 /2 +7 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 -5 *3 +7 /2 +7 /2 +7 /2 +7 /2 /2 +7 +7 /2 *3 -5 -5 *3 +7 /2 -5 *3 +7 /2 *3 -5 -5 = 2012
2011 +7 -5 *3 +7 /2 +7 /2 +7 /2 +7 /2 /2 +7 +7 /2 *3 -5 -5 *3 -5 *3 /2 +7 -5 *3 /2 +7 -5 = 2012
2011 +7 -5 *3 +7 /2 +7 /2 +7 /2 +7 /2 /2 +7 *3 -5 /2 +7 +7 /2 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 -5 *3 +7 /2 +7 /2 +7 /2 +7 /2 /2 +7 *3 -5 /2 +7 -5 *3 *3 -5 *3 -5 /2 +7 /2 +7 -5 = 2012
2011 +7 -5 *3 +7 /2 +7 /2 +7 /2 +7 /2 /2 +7 *3 -5 *3 -5 *3 -5 /2 +7 +7 /2 /2 +7 *3 -5 -5 = 2012
2011 +7 -5 *3 +7 /2 +7 /2 +7 /2 +7 /2 /2 +7 -5 *3 /2 +7 /2 +7 -5 *3 -5 *3 *3 -5 +7 /2 -5 = 2012
2011 +7 -5 *3 +7 /2 +7 /2 +7 /2 *3 -5 /2 +7 /2 +7 /2 +7 *3 -5 /2 +7 *3 -5 -5 *3 /2 +7 -5 = 2012
2011 +7 -5 *3 +7 /2 +7 /2 *3 -5 /2 +7 +7 /2 /2 +7 /2 +7 /2 +7 -5 *3 *3 -5 -5 *3 /2 +7 -5 = 2012

@chenshuo
Copy link
Author

chenshuo commented Feb 3, 2012

the best solution find with

$ grep -v '7 .7\|2 .2\|3 .3\|5 .5' 2012all.out
2011 +7 /2 +7 /2 +7 -5 *3 /2 +7 /2 +7 *3 -5 /2 +7 /2 +7 -5 *3 -5 *3 /2 +7 -5 *3 /2 +7 -5 = 2012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment