COMPANY

  • Совладельцы
    COMPANY

Описание
Некоторые компании являются совладельцами других компаний, так как приобрели часть их акций. Например, компания Форда владеет 12% акций компании Мазда. Говорят, что компания А контролирует компанию В, если имеет место по меньшей мере одно из следующих условий: 

  • А=В. 

  • А владеет более 50% акций В. 

  • А контролирует К (К>=1) компаний С(1), Е, С(К) таких, что компания С(i) владеет соответственно Х(i)% акций компании В (для всех i от 1 до К), и Х(1)+Х(2)+Е+Х(К)>50. 

Задача, которую надо решить, заключается в следующем: 

Дана последовательность троек чисел (i,j,p), означающих, что компания i владеет p% акций компании j. Требуется определить все пары чисел (h,s), при которых компания h контролирует компанию s. Общее число компаний не превышает 100. 

Задача
Напишите программу, которая: 

Читает из входного ASCII-файла с именем COMPANY.DAT последовательность троек (i,j,p), где i, j и p - положительные целые числа. В файле могут содержаться последовательности троек чисел для нескольких тестов. Различные тестовые последовательности разделены пустой строкой. 

Находит все пары чисел (h,s) такие, что компания h контролирует компанию s. 

Записывает в выходной ASCII-файл с именем COMPANY.SOL все обнаруженные пары чисел (h,s), в которых h отличается от s. Пары (h,s) надо записать в последовательных строках в порядке возрастания h (каждая пара записывается в отдельной строке). Решения для различных тестовых наборов данных должны разделяться пустой строкой. 

Пример: 

COMPANY.DAT 
2  3  25
1  4  36
4  5  63
2  1  48
3  4  30
4  2  52
5  3  30

1  2  30
2  3  52
3  4  51
4  5  70
5  4  20
4  3  20


COMPANY.SOL 
4  2
4  3
4  5

2  3
2  4
2  5
3  4
3  5
4  5