You need more vertices in total. Each vertex has UV coordinates. So if a vertex is shared by two faces, but each faces needs different UVs for this vertex, you need to split this vertex into two vertices with the same position (xyz), but different u1/v1.
This way each face can have its own coordinates.