Переберем все тройки вершин.
Рассмотрим их.
Если нет ни одного ребра в данной тройке, то идем дальше, так как ничего проверять не надо(никакие из ребер не соединены).
Если есть одно ребро, то следовательно соединены только две вершины между собой и третья не затронута, поэтому идем дальше.
Если два ребра, то с одной вершиной соединены две вершины, а другие две между собой нет, что противоречит транзитивности графа, следовательно выводим NO и завершаем программу.
Если три ребра, то получаем полный трехвершинный граф, он же транзитивный. После окончания проверок выводим YES.