Below is an 8x8 Masyu puzzle (rules can be found here), but the puzzle has been broken into four pieces! Can you put the pieces back together to make a proper Masyu puzzle with a unique solution? (The pieces can be rotated, and swapped, but they cannot be flipped. The red piece cannot be rotated, but can be swapped. This just reduces 4 solutions (trivial rotations of each other) down to a single one.)
Start from Subgrid A. A1 and A3 can't be a corner tile due to basic Masyu rules. If tile 'below' A5 is a corner, that means A4 and A5 are joined together, and both turn 'upwards', wrapping A2 in a dead end. Contradiction. So tile 'right of' A2 is a corner tile, exactly which is not known yet. Now we can draw some lines on Subgrid A.
Now to Subgrid B. Line cannot go 'left' from B2, else either B1 or B3 is cornered. So we can start B with:
That means B cannot go 'left of' A in any way:
Now to Subgrid C. Line cannot go 'down' from C1, else C2 is adjacent to no turns. So we can start C with:
That means C cannot go 'left of' A in any way:
That leaves A's 'left' joined to Subgrid D. Putting Subgrid A as Upper Left above Subgrid D would force D2 and D3 in a loop of their own:
A right of D as Upper Right leaves no valid solution for D3:
A below D as Lower Right means Line has to go through D3 and D2 first, leaving D1 in a dead end:
And with that we now know A is lower left corner, and D is lower right. With this in mind we can draw some lines onto D:
If we now put C above D, because C1's known line cannot run into D, it needs to run left into B, making B2's known line going down into A:
Whichever way C1's other line goes causes contradiction. So C is upper left, B is upper right. Running C1's known line rightward leads to this:
With B2 and D1 forming a loop of their own, contradiction. So C1's known line has to go down. Now we can add more lines.
Running B1's known line leftward leads to this:
Either putting C2 and C3 into a loop of their own or putting either C2 or C3 into a dead end. Contradiction. So B1's known line goes downward.
Now we can fill out the remaining lines to get the answer loop.