![]() |
Overview
A battleships consists of a mostly blank grid, generally square, with numbers to the right and the bottom. Some squares are already filled in. The goal is to place "ships," listed below the grid. In the most common form, the grid is 10x10, and there are ten ships to place (one 4-square ship, two 3-square ships, three 2-square ships, and four 1-square ships). The numbers to the right and the bottom represent the number of ship segments in that row or column.
Here is a sample unsolved battleships grid and the solution:
![]() |
![]() | |
| Fig. 1: Unsolved grid | Fig. 2: Solved grid |
Strategy Summary
Basic Strategy
Step one: Fill in ocean in rows and columns where there are no remaining ship segments
At the outset, there are usually 0s among the clues. These indicate that there are no ship segments in those rows or columns. Also, if there are any cases where the number of ship segments provided as clues matches the number in the clue on the end of the row or column (for instance, one ship segment is given as a clue and there's a 1 at the end), the rest of the squares have to be ocean.
![]() |
| Fig. 3: Fill in ocean |
Step two: Fill in ship segments
Likewise, if the number of ship segments in a row or column (based on the clue) matches the number of remaining squares plus the number of ship segments already filled in, the remaining squares can be filled in as ship segments. For instance, in the first column, there are seven empty squares, and seven ship segments in the column. In the ninth row, there are four empty squares and four ship segments in the clue.
![]() |
| Fig. 4: Fill in ship |
Step three: Fill in ocean neighboring ships
Now that some ships have been placed, you can put ocean in the all of the squares adjoining the ships, including the diagonal neighbors:
![]() |
| Fig. 5: Fillin in neighbors |
At this point, we can repeat the first step to fill in some more ocean:
![]() |
| Fig. 6: Repeating first step |
Step four: Assess ships based on clues
If any ship pieces are provided as initial clues, you can determine certain things about the ships based on them. Specifically, there are three kinds of initial ship clues:
Consider the square in row six, column four. This means we have to have a ship that's three or four squares long, although without other clues we wouldn't know what direction it's in. Because we've filled some ocean in, we know that the ship must be horizontal, not vertical. However, we also know this because the column has 2 as a clue, but the ship must be at least three squares long. Because the four-square ship has already been placed, and also because one square in the sixth row has already been filled with a ship, we know the ship we're looking at is exactly three squares long:
![]() |
| Fig. 7: Assessing clues |
Repeating steps 1 and 2 gives us:
![]() |
![]() | |
| Fig. 8 | Fig. 9 |
Finally, consider the clue in row 2, column 7. This is an end cap, meaning that the square below it must contain a ship segment. There's only room for a 2-square ship. Filling this in and repeating the previous steps allows us to complete the puzzle:
![]() |
| Fig. 10: Solution |
Most easy Battleships puzzles can be solved in this manner. More difficult puzzles require some degree of trial-and-error. For more difficult puzzles, it's generally best to try to place the larger ships first. For instance, in the sample puzzle, note that there are three rows and two columns with a "4" or higher as a clue; we know, before completing any squares, that the four-square ship must be in one of those.
All puzzles will have a unique solution which can be entirely determined by logic. Have fun!
Screen shots were taken from my Battleships program.