Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_18_16 - Karuzela VAT |
W uproszczeniu można powiedzieć, że warunkiem koniecznym przestępstwa karuzelowego jest prowadzenie transakcji w taki sposób, iż dane dobro nabywane jest przez polską firmę od firmy zagranicznej, a następnie, po choć jednej dodatkowej odsprzedaży na terenie kraju, trafia ponownie za granicę. Co ważne, wyprowadzenie towaru z kraju oraz jego sprowadzenie nie może być dokonane przez ten sam podmiot.
Twoim zadaniem jest wykrycie tych polskich firm dokonujących wewnątrzwspólnotowej dostawy towarów (WDT), które mogą uczestniczyć w karuzeli podatkowej. Innymi słowy interesują nas polskie firmy, które:
- nabywają od innej polskiej firmy produkt, który został wprowadzony zza granicy na rynek krajowy przez inny podmiot,
- sprzedają dany towar do innych krajów unijnych.
Zakładamy, że nazwy towarów są zgodne ze stanem faktycznym. Mówiąc wprost, jeżeli przedmiotem transakcji między sprzedającym A oraz kupującym B jest towar o nazwie "termos", który to towar zakupi dalej od kontrahenta B przedsięborstwo C, odpowiednia transakcja między B a C będzie również dotyczyła towaru o nazwie "termos".
Wejście
Na wejściu podana zostanie liczba przedsiębiorstw c (c < 105). Następnie, w kolejnych c liniach, unikatowe ID będące dziewięcioznakowym ciągiem, zaczynającym się od dwóch wielkich liter alfabetu angielskiego, po których występują cyfry. Litery "PL" oznaczają Polskę, a pozostałe – inne kraje unijne.
Później, w nowej linii, podana będzie liczba transakcji t (t < 105). Dalej, w t liniach, zostaną przedstawione transakcje. Każda z nich opisana będzie trzema ciągami znaków rozdzielonych pojedynczymi spacjami. Pierwsze dwa ciągi będą ID należącymi do zbioru ID podanych uprzednio na wejściu. Pierwszy z nich określa sprzedawcę, a drugi – nabywcę. Trzeci ciąg to przynajmniej jedna oraz maksymalnie dwadzieścia liter alfabetu angielskiego lub znaków podkreślenia i określa on nazwę towaru, którego dotyczy transakcja.
W testach wprowadzono ograniczenie na maksymalną liczbę różnych towarów – jest ich nie więcej niż 10. Dopuszczamy przypadki, gdy transakcje dokonywane są w obrębie danego podmiotu (firma sprzedaje towar sama sobie). Dane testowe zostały dobrane w taki sposób, że rozwiązanie jest jednoznaczne. Przez jednoznaczny dobór danych wejściowych należy rozumieć, iż nie wystąpi przypadek, kiedy dana firma jednocześnie spełnia i nie spełnia warunków podanych w treści zadania. Przykładowo, nie wystąpi test taki, jak poniżej, gdzie PL0045064 importuje towar od firmy zagranicznej i przekazuje go innej firmie zagranicznej, ale jednocześnie może uczestniczyć w karuzeli wraz z podmiotem PL0088311.
5
MA0011060
PL0045064
NE0026320
PL0088311
OU0037262
4
PL0088311 PL0045064 towarX
PL0045064 OU0037262 towarX
NE0026320 PL0045064 towarX
MA0011060 PL0088311 towarX
Wyjście
Na wyjściu należy podać, w kolejności leksykograficznej (tzn. zgodnej z kolejnością kodów ASCII poszczególnych znaków), kolejne towary, które mogły uczestniczyć w przestępstwie karuzelowym, a dodatkowo po każdym z nich należy wypisać, w kolejności leksykograficznej (tzn. tak jak towary), ID polskich firm, które dokonały WDT z wykorzystaniem tych dóbr.
Przykład
Wejście:
19 PL0000001 PL0000002 PL0000003 PL0000004 PL0000005 PL0000006 PL0000007 PL0000008 PL0000109 PL0000009 PL0000010 PL0000011 PL0000012 PL0000013 PL0000014 DE0000001 DE0000002 DE0000003 DE0000004 26 DE0000001 DE0000001 woda DE0000001 PL0000005 etanol PL0000001 PL0000002 zeszyty_male PL0000001 PL0000002 etanol PL0000002 PL0000001 etanol DE0000002 PL0000007 meble PL0000002 PL0000001 poduszki PL0000001 PL0000003 pomidory PL0000003 PL0000004 mieszkania PL0000003 PL0000006 piwo PL0000003 PL0000005 woda PL0000005 DE0000002 alkohol PL0000007 PL0000008 meble PL0000009 DE0000004 meble PL0000003 PL0000004 poduszki PL0000003 PL0000005 poduszki PL0000003 PL0000006 puszki PL0000008 PL0000009 meble PL0000008 PL0000010 meble PL0000010 PL0000011 meble PL0000011 PL0000009 meble PL0000011 DE0000004 meble PL0000011 PL0000012 meble PL0000012 PL0000013 meble PL0000013 PL0000014 meble PL0000014 DE0000004 meble
Wyjście:
meble PL0000009 PL0000011 PL0000014
Wyjaśnienie:
Firma PL0000007 sprowadza do kraju meble, które – po kolejnych transakcjach krajowych – trafiają do firm PL0000009, PL0000011 oraz PL0000014. Następnie przedsiębiorstwa te wyprowadzają towar z kraju. W związku z tym spełniają one założenia zadania.
Dodane przez: | anonimowy |
Data dodania: | 2023-12-30 |
Limit czasu wykonania programu: | 1s-5s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC COBOL D-CLANG D-DMD ELIXIR FANTOM GOSU GRV JS-MONKEY NIM OBJC OBJC-CLANG PICO RUST SCM qobi CHICKEN VB.NET |