Fișierul intrare/ieșire cursaf13.in, cursaf13.out Sursă Testare IQ Academy 2022
Autor Cristian Frâncu | Mihai Tuțu Adăugată de avatar mihai.tutu Mihai Tutu mihai.tutu
Timp de execuție pe test 0.15 sec Limită de memorie 65536 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Cursa Formula 1 3 (clasa a 6-a)

Lucrezi la compania TV care va difuza anul acesta campionatul de curse de mașini, Formula 1. Contractul prevede un sistem care urmărește și afișează poziția mașinilor pe circuit, în timp ce se întrec. Acest sistem este folosit pentru a crea o experiență îmbunătățită telespectatorilor.

Pentru că nu sunt suficienți bani pentru ultimele tehnologii GPS, trebuie să te bazezi pe un sistem mai vechi de urmărire, care funcționează astfel:

  • Un circuit din campionat este reprezentat pe o hartă. Harta este desenată ca un dreptunghi, împărțit în linii și coloane. Un pătrățel este considerat o unitate de distanță.
  • Pentru a putea modifica repede reprezentarea circuitului de la o cursă la alta, aceasta este codificată astfel:
    • Se dau două numere, ls și cs, ce reprezintă coordonatele punctului de start al circuitului.
    • Apoi, se dă secvența de codificare a circuitului ce cuprinde mai multe direcții, d, urmate de numărul de pătrățele k cu care mașina se deplasează în acea direcție.
    • Direcția d este redată prin literele A, B, C, D, E, F, G și H, conform desenului de mai jos.
    • Numărul ce urmează după direcție reprezintă numărul de pătrățele de pe hartă cu care mașina se deplasează în acea direcție.
  • Mașinile urmăresc acest circuit și nu se abat de la el. Merg în aceleași direcții și se deplasează același număr de pătrățele, conform codificării date pentru circuit.
  • Din momentul startului cursei, fiecare mașină transmite prin radio distanța, xi, pe care a parcurs-o într-o anumită perioadă de timp, i.
    • Distanța x i reprezintă numărul de pătrățele parcurse de mașină pe hartă, în perioada i.
    • Pe parcursul cursei, se verifică t perioade de timp pentru a vedea unde este fiecare mașină.

Cerință

Înainte de prima cursă, te apuci să faci câteva teste asupra sistemului. Așa că ai convins un singur pilot să facă ture cu mașina pe circuit și încerci să determini poziția acestuia, la sfârșitul fiecărei perioade de timp i.

Date de intrare

Fișierul de intrare cursaf13.in conține:

  • pe prima linie coordonatele punctului de start ale circuitului, ls și cs.
  • pe a doua linie secvența de codificare a circuitului, alcătuită din litere și numere. Secvența este împărțită în grupuri ce conțin o literă, reprezentând direcția d și un număr k reprezentând numărul de pătrățele cu care avansează mașina.
  • pe a treia linie un singur număr t, reprezentând numărul de perioade de timp pentru care verificăm mașina de test.
  • pe a patra linie t numere, despărțite printr-un spațiu, reprezentând distanțele xi parcurse de mașină în fiecare din cele t perioade de timp.

Date de ieșire

În fișierul de ieșire cursaf13.out veți afișa t perechi de două numere, despărțite printr-un spațiu, câte o pereche pe linie. în total t linii. Perechea de pe linia i reprezintă coordonatele mașinii (linie și coloană) la finalul perioadei de timp i.

Restricții

  • d este o literă mare între A și H
  • 1 ≤ k ≤ 200
  • 1 ≤ t ≤ 20 000
  • 1 ≤ xi ≤ 1 000 000
  • Circuitul are cel puțin 3 schimbări de direcție, dar nu poate avea mai mult de 20 000 de schimbări de direcție.
  • Se garantează că circuitul se închide. Mașina care parcurge circuitul conform codificării lui se va afla, după ce parcurge o tură întreagă de circuit, în punctul de start, la coordonatele, ls și cs.
  • Circuitul se poate autointersecta. Codificarea lui este o reprezentare cu vedere de sus. În realitate există tuneluri sau poduri.
  • Se garantează că circuitul nu are schimbări de direcție la 180 de grade (în direcția opusă). Nu vor exista două direcții alăturate A-E, B-F, C-G, D-H sau viceversa.
  • Se garantează că toate punctele circuitului au coordonate numere naturale mai mici decât 4 milioane

Exemplu

cursaf13.in cursaf13.out Explicații
0 0
C7D3E5G10A8
5
13 7 28 11 16
6 10
8 5
8 10
7 0
2 9
Circuitul începe la coordonatele (0,0). Apoi, conform codificării, urmează:
 
C7 – 7 pătrățele spre dreapta;
D3 – 3 pătrățele în diagonală jos-dreapta
E5 – 5 pătrățele în jos;
G10 – 10 pătrățele în stânga;
A8 – 8 pătrățele în sus.
 
După reprezentarea circuitului ca în figura alăturată, vom deplasa mașina și vom vedea un se află
fiecare la fiecare perioadă i:
 
  • pentru i = 1, va parcurge 13 pătrățele și va ajunge la coordonatele l = 6, c = 10.
  • pentru i = 2, va parcurge 7 pătrățele și va ajunge la coordonatele l = 8, c = 5.
  • pentru i = 3, va parcurge 28 pătrățele și va face termina prima tură și va continua traseul.
    Va ajunge la coordonatele l = 8, c = 10, în cea de-a doua tură.
  • pentru i = 4, va parcurge 11 pătrățele și va ajunge la coordonatele l = 7, c = 0.
  • pentru i = 5, va parcurge 16 pătrățele și va ajunge la coordonatele l = 2, c = 9

Explicație grafică pentru exemplu

Reprezentarea circuitului

Reprezentarea poziției mașinii la fiecare perioadă de timp i

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 4 categorii