a) Let K be the polygon under consideration. Since K is convex, the tiling triangles fall into two classes: Those having all edges inside K, and those having at least one edge on the boundary of K. (If K were not convex, there might also exist triangles having only parts of edges on the boundary of K, and the conclusion may fail to hold — see part b).)
Every inner edge of a triangle is subdivided into one or more 'short' segments by (the boundaries of) some other triangles on the opposite side. Each short segment is shared by exactly two triangles. Notice further that every short segment lies along a
unique segment of maximal length which is a concatenation of non-overlapping inner edges coming from the triangles on the same side of that segment. Hence, the total length of the short segments along one of maximal length is integer. Consequently, so is the total length s of all short segments.
Clearly, every outer edge (lying on the boundary of K) belongs to a single triangle, and the total length of all outer edges is the perimeter of K.
Finally, let t be the number of triangles, and let S be the sum of their perimeters. Since the sides of each triangle all have an odd length, t and S have like parities. By the preceding, the perimeter of K is S−2s, and the conclusion follows.
b) The answer is in the negative. Let A,A′,B,B′, in order, be distinct points on a line ℓ such that AB=A′B′=1. Erect equilateral triangles ABC and A′B′C′, where C and C′ lie on opposite sides of ℓ. These two triangles tile the non-convex hexagon AA′C′B′BC. Letting AA′=BB′=x, the perimeter of the hexagon is 4+2x. If x=21, the perimeter is 5 which is odd, and if x=21, the perimeter is not even an integer.