|
|||
1 milliárd dimenzió
Ismert, hogy a klasszikus 3 dimenziós térben a vektorokat az (x,y,z) koordinátákkal adjuk meg, melyeket szokás a köznyelvben (pl. bútorok esetén) szélességnek, magasságnak és mélységnek is nevezni.
Egy messzi-messzi galaxisban, az 1 milliárd dimenzió bolygójának földjén a lakók hasonló szisztémát használnak a vektorok megadására azzal a különbséggel, hogy náluk minden vektor 1 milliárd koordinátából áll (azaz egy vektor (x1,x2,x3,...,x1000000000) alakú). Szerencsére a bolygó gravitációs tere és az ennek ellensúlyozására felhúzott mágikus erőtér kölcsönhatásának következtében a vektorok gyanúsan sok egymás utáni ismétlődést tartalmaznak, így a lakók körében elterjedt a vektorok ún. tömörített alakjának használata, melynek alakja:
(darabszám1 érték1 darabszám2 érték2 ... darabszámn értékn),
ahol a darabszám adja meg, hogy az utána szereplő érték hányszor fordul elő egymás után, megszakítás nélkül.
Például az (1 1 1 ... (összesen 100 db 1-es) 2 3 3 4 4 4 ... (összesen 999999897 db 4-es) vektor tömörített formája (100 1 1 2 2 3 999999897 4) (azaz 100 darab 1-es, 1 db 2-es, 2 db 3-as, és 999999897 darab 4-es).
A feladatunk az, hogy kiszámoljuk két, tömörített formában megadott vektor skaláris szorzatát, azaz a pontonkénti koordináták szorzatainak összegét (például az (x,y,z) és (u,v,w) vektorok skaláris szorzata x*u + y*v + z*w).
Input
A bemenet két sorból áll, melyek mindegyike egy-egy tömörített vektort tartalmaz. A vektorban szereplő összes "egység" között pontosan egyetlen szóköz található és a könnyebb feldolgozhatóság érdekében a vektorokat nem vettük körbe zárójelekkel. Az összes sor hossza legfeljebb 10000 karakter.
Output
A kimenet egyetlen szám, mely a két vektor skaláris szorzatát adja meg.
Megkötések
Példa
Input:
Magyarázat
Az első vektor kibontott alakban 500 millió + 1 darab 1-est tartalmaz, majd 499999999 darab -1-est.
A második vektor 1 milliárd darab 1-esből áll.
Így a skaláris szorzat 500000001*(1*1) + 499999999*(-1*1) = 2.
|
|||
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30. |