First Solution: Let s denote the minimum number of cells in a dinosaur; the number this year is s=2007.
Claim: The maximum number of cells in a primitive dinosaur is 4(s−1)+1=8025.
First, a primitive dinosaur can contain up to 4(s−1)+1 cells. To see this, consider a dinosaur in the form of a cross consisting of a central cell and four arms with s−1 cells apiece. No connected figure with at least s cells can be removed without disconnecting the dinosaur.
The proof that no dinosaur with at least 4(s−1)+2 cells is primitive relies on the following result.
Lemma Let D be a dinosaur having at least 4(s−1)+2 cells, and let R (red) and B (black) be two complementary animals in D, i.e., R∩B=∅ and R∪B=D. Suppose ∣R∣≤s−1. Then R can be augmented to produce animals R~⊃R and B~=D∖R~ such that at least one of the following holds:
(i) ∣R~∣≥s and ∣B~∣≥s,
(ii) ∣R~∣=∣R∣+1,
(iii) ∣R∣<∣R~∣≤s−1.
Proof: If there is a black cell adjacent to R that can be made red without disconnecting B, then (ii) holds. Otherwise, there is a black cell c adjacent to R whose removal disconnects B. Of the squares adjacent to c, at least one is red, and at least one is black, otherwise B would be disconnected. Then there are at most three resulting components C1,C2,C3 of B after the removal of c. Without loss of generality, C3 is the largest of the remaining components. (Note that C1 or C2 may be empty.) Now C3 has at least ⌈(3s−2)/3⌉=s cells. Let B~=C3. Then ∣R~∣=∣R∣+∣C1∣+∣C2∣+1. If ∣B~∣≤3s−2, then ∣R~∣≥s and (i) holds. If ∣B~∣≥3s−1 then either (ii) or (iii) holds, depending on whether ∣R~∣≥s or not.
Starting with ∣R∣=1, repeatedly apply the Lemma. Because in alternatives (ii) and (iii) ∣R∣ increases but remains less than s, alternative (i) eventually must occur. This shows that no dinosaur with at least 4(s−1)+2 cells is primitive.
Second Solution: (Based on Andrew Geng's solution) Let s=2007. We claim that the answer is 4s−3=8025.
Consider a graph with the cells as the vertices and whose edges connect adjacent cells. Let T be a spanning tree in this graph. By removing any vertex of T, we obtain at most four connected components, which we call the limbs of the vertex. Limbs with at least s vertices are called big. Suppose that every vertex of T contains a big limb, then consider a walk on T starting from an arbitrary vertex and always moving along the edge towards a big limb. Since T is a finite tree, this walk must traverse back on some edge at some point. Then the two connected components of T made by deleting this edge are both big, so they both contain at least s vertices, which means that the dinosaur is not primitive. It follows that a primitive dinosaur contains some vertex with no big limbs. By removing this vertex, we get at most four connected components with at most s−1 vertices each. This not only shows that a primitive dinosaur has at most 4s−3 cells, but also shows that any such dinosaur consists of four limbs of s−1 cells each connected to a central cell. It is easy to see that such a dinosaur indeed exists.