How is a transaction not present in 2 or more solved blocks?
When node B gets informed about block A being mined he would start working on a new block that does not conflict with the first one.

If block B happens to be mined around the same time as block A there would be a fork. All nodes in the network that hear about both blocks will keep both branches and will wait for the conflict to be resolved.

The miner that mines the next block will have to place his new block on top of one of the branches. When that happens and the new block gets broadcasted, all nodes will pick the branch with the most work and the other branch will become orphan.