Disclaimer: A lot of this post was copied from my answer to a similar sort of game.
Summary
It turns out that this game is very closely related to the Octal Game with code "0.007". Using the Sprague-Grundy Theorem combined with a winning strategy for Nim, it is relatively straightforward to analyze small games like this (e.g. your game for small $n$), and there are theorems which give efficient algorithms to learn about this in the medium range. Some Octal games can be efficiently solved even in large cases, but this particular game is not one of them.
It turns out that $B$ has a winning strategy for $N={0, 1, 2, 8, 14, 24, 32, 34, 46, 56, 66, 78, 88, 100, 112, 120, 132, 134, 164, 172, 186, 196, 204, 284, 292, 304, 358, 1048, 2504, 2754, 2914, 3054, 3078, 7252, 7358, 7868, 16170}$ and $A$ has a winning strategy in all other cases up to $2^{28}-1$. But I believe the general result is still open.
Connecting this game to existing theory
First note that you shouldn't be able to draw a curve through points as then drawing a curve through all of the points would be a winning move all of the time. To connect this game to existing general theory, we can reconceptualize it in the way that Lærne did: After you draw a curve, you remove three points from a component, and split the remainder into two components (where one or both of those may be empty). That is traditionally encoded in a "number" with Octal digits. In this case, the code is $0.007$, where the $0$s indicate that you can't remove only one or two points, and the three bits of the $7$ indicate that you can leave zero or one or two components when you remove three points from a component.
Who wins?
Since the original question was "who has a winning strategy?", rather than "what is the winning strategy, I won't re-present an introduction to the relevant theorems in detail.
If you don't already know about the strategy for Nim or the Sprague-Grundy Theorem and how they can be applied to similar games, you can read one or more of the following:
Very briefly, positions in games like this act in combinations like single heaps of Nim, where the size of the corresponding Nim heap is the least number that's not a size of a Nim heap corresponding to a position you can move to. The strategy for Nim tells you that combining games with known equivalent Nim boils down to bitwise XOR (aka "adding in base $2$ without carrying").
Because of the strategy for Nim (how Grundy values combine), and a position in this game is a combination of separate components, it suffices to know the Grundy/Nim values for a single "heap" (in our context, a single component of points). There are tricks to make this calculation more efficient than the naive method, some of which are covered in the graduate textbook "Combinatorial Game Theory" by Aaron N. Siegel. For some similar games, the Nim values are known to be eventually periodic (by a theorem that says they will be if they look periodic long enough), but according to Flammenkamp, for $0.007$, $2^{28}$ values have been calculated with no periodic behavior, although the values $N$ for which $B$ wins appear to stop at $16170$.
Aaron Siegel's program Combinatorial Game Suite allows efficient calculation of middling values (but probably wouldn't get up to $2^{28}$. For example, the lines hr:=game.heap.HeapRules.MakeRules("0.007")
and hr.NimValues(100000)
takes about a minute and a half on my machine to produce the list of Nim values for $N=0$ to $N=99999$.
For example, the Nim values from $N=0$ to $N=499$ are as follows (remember that $N=0$ corresponds to a win for $B$) $0,0,0,1,1,1,2,2,0,3,3,1,1,1,0,4,3,3,3,2,2,2,4,4,0,5,5,2,2,2,3,3,0,5,0,1,1,1,3,3,3,5,6,4,4,1,0,5,5,6,6,2,7,7,7,8,0,1,9,2,7,2,3,3,3,9,0,5,4,4,8,6,6,2,7,1,1,1,0,5,5,9,3,1,8,2,8,5,0,1,1,12,2,2,7,3,3,9,4,4,0,11,3,3,3,9,2,2,8,1,3,5,0,9,12,2,6,13,13,5,0,1,1,4,11,7,7,10,3,4,1,4,0,5,0,3,3,6,7,2,14,13,10,4,12,9,2,2,3,3,6,9,9,1,16,4,8,3,3,2,15,1,1,4,0,5,5,16,6,6,6,8,0,16,5,4,4,17,2,2,7,14,6,10,12,1,0,16,13,3,6,2,7,7,8,1,0,5,17,2,12,15,3,11,0,19,18,12,4,16,17,2,2,21,6,9,4,19,5,5,17,10,3,6,19,2,7,8,4,1,9,12,7,2,13,6,3,19,5,9,4,8,8,17,17,2,15,18,1,1,8,5,21,16,21,3,19,19,13,5,18,1,4,17,7,2,7,6,3,19,12,5,5,16,16,6,17,19,7,7,18,1,4,17,0,9,16,3,3,14,13,22,0,1,15,24,17,2,6,18,3,4,19,19,0,8,21,16,3,15,7,26,18,13,1,1,17,9,2,21,2,6,22,19,9,5,16,4,16,20,3,7,18,23,22,8,20,5,16,21,15,6,10,19,18,18,18,4,4,17,17,7,2,3,23,19,9,5,0,16,16,3,17,30,2,18,18,8,4,17,17,9,27,6,10,19,19,14,9,9,4,20,17,14,11,7,18,6,19,19,5,13,16,16,10,6,19,19,23,18,4,4,17,12,12,14,10,6,3,19,5,9,5,21,16,20,6,7,7,18,30,13,13,17,12,21,15,10,3,19,22,18,8,4,32,17,17,11,14,6,26,24,12,5,9,16,16,6,7,7,7,18,18,8,4,17,20,7,16,10,10,22,19,22,9,23,4,13,17,20,7,11,23,23,4,5,9,5,16,16,10,17,10,22,18,23,8,4,17,17,20,16,32,13,19,19,33,5,5,24$
Best Answer
Player B has a winning strategy for all $n\ge2$.
Let me describe the game in an equivalent but more natural way, which will make it easier to describe the winning strategy. The game is played on the complete graph $K_n$ ($n\ge2$), which consists of $n$ vertices, each pair of vertices joined by an edge. Initially all edges are unpainted. At each turn A chooses an edge, which B paints blue or red. B wins if, after the last edge is painted, but not before that, there is a vertex which is joined to all other vertices by blue edges; otherwise A wins.
B's winning strategy is described by three rules. Of course, for B to win, the last edge to be painted must be painted blue. Let me call a vertex "red" if at least one of its incident edges has been painted red. Observe that, if it ever happens that two red vertices are joined by an unpainted edge, then A can win by saving that edge for last. Hence the need for the first two rules:
Rule 1. Paint the last edge blue.
Rule 2. Never paint an edge red if that would result in two red vertices being joined by an unpainted edge.
Rule 3. Use red paint whenever permitted by Rules 1 and 2.
Thus, if $n\gt2$, the first edge will always be painted red, the second will always be painted blue.
I have to show that this is a winning strategy. Rule 2 guarantees that "every vertex incident with a red edge" can't happen before all edges have been painted, nor can it happen at the end because of Rule 1. Therefore, when all edges have been painted, there is at least one vertex $v$ which is joined to all the other vertices by blue edges. I claim that such a "blue star" can't appear before the very end.
After the first turn there are two red vertices, neither of which is joined to $v$ by a blue edge. At some point the number of red vertices not joined to $v$ by blue edges must decrease from one to zero. But it's easy to see that Rule 3 prevents this from happening before the very last turn.