|
|
@@ -85,6 +85,16 @@ bool neighbours(Node *a, Node *b)
|
|
|
return (diffs == 1);
|
|
|
}
|
|
|
|
|
|
+Node *get_by_id(vector<Node*> const &graph, nat id)
|
|
|
+{
|
|
|
+ for(auto n : graph)
|
|
|
+ {
|
|
|
+ if(n->id == id)
|
|
|
+ return n;
|
|
|
+ }
|
|
|
+ return nullptr;
|
|
|
+}
|
|
|
+
|
|
|
vector<Node*> make_graph(const vector<bool> &primes)
|
|
|
{
|
|
|
vector<Node*> graph(primes.size());
|
|
|
@@ -101,7 +111,7 @@ vector<Node*> make_graph(const vector<bool> &primes)
|
|
|
|
|
|
for(nat j = i+2; j < primes.size(); j += 2)
|
|
|
{
|
|
|
- if(neighbours(graph[i], graph[j]))
|
|
|
+ if(primes[j] && neighbours(graph[i], graph[j]))
|
|
|
{
|
|
|
new Edge(graph[i], graph[j]);
|
|
|
}
|
|
|
@@ -163,7 +173,16 @@ int main()
|
|
|
}
|
|
|
|
|
|
return 0;
|
|
|
-*/
|
|
|
+/*/
|
|
|
+
|
|
|
+ /*
|
|
|
+ while(cin >> source)
|
|
|
+ {
|
|
|
+ cout << primes[source] << endl;
|
|
|
+ }
|
|
|
+
|
|
|
+ return 0;
|
|
|
+//*/
|
|
|
|
|
|
cin >> num_tests;
|
|
|
|