Для выявления таких ошибок нужно связи виртуального отчета выстраивать хронологически (все-таки время в реальных отчетах более точный параметр, чем принятые номера) и отслеживать неубывающую последовательность переданных номеров.
Но тогда возможна такая ситуация:
станция А провела связи со станциями В и С:
В 03:05 59 2 59 4
С 03:06 59 3 59 2
но не прислала отчет. Но вот время на компьютере В больше, чем на А, на 1 минуту, а на компе С - меньше, чем на А тоже на 1 минуту.
Тогда смоделированный отчет А будет выглядеть так:
С 03:05 59 3 59 2
В 03:06 59 2 59 4
и, снимая QSO А<->В, мы снимем реальную связь, что неправильно...
Вывод: отслеживание подобной ошибки средствами автоматического судейства очень сильно усложнит алгоритм оного.
Предложение: сортировку связей в виртуальных логах делать (или не делать?) по времени и просматривать (или не просматривать?
) эти логи на предмет подобных коллизий человеком, с принятием решения "гуманоидом".
А, может, вообще оставить "as is"... А то мы тут скоро дойдем до проблем анализа логов "а-ля" CQ WW Committee. Это, все-таки, тренировочный тест!