Sunteți pe pagina 1din 8

Tema1PA

deadline3aprilie201623:55
ResponsabilVicentiuCiorbaru(cvicentiu@gmail.com)

Tema1PA
1.Problema1
1.1Enun
1.2Dateintrare
1.3Dateiesire
1.4Precizari
1.5Exemplu
2.Problema2
2.1Enun
2.2Dateintrare
2.3Dateiesire
2.4Precizari
2.5Exemple
3.Problema3
3.1Enunt
3.2Dateintrare
3.3Dateiesire
3.4Precizari:
3.5Exemple:
4.Punctare
5.Formatarhivitestare

1.Problema1
1.1Enun
Gigeldoretesprogramezeprimulsujocpecalculator.Neavndpreamultexperien,
sagnditsporneascacucevasimplu.iaimaginatunjoccupalindroame.Joculva
rearanjalitereledincadrulunuipalindrom.Scopuljuctoruluiestesreaducliterele
amestecatentroordinedepalindrom.Regulilejoculuisuntsimple:

Oricare2litereadiacentepotfiinterschimbate.
Joculsetermincndordinealiterelorestecorespunztoarecuceadepalindrom.

Gigelsegndetectrebuiesexisteostrategiecepoaterearanjaliterelentrunnumr
minimdemutri.Pentruaseasiguracstareainiialajoculuinuestenicipreagrea,dar

nicipreausoara,Gigelardoristienctemutriarputeasseterminejoculcelmai
repede.Elvroagsiitestaictevavaloripropusedeel.

1.2Dateintrare
Fiieruldeintrare
joc.in
vaconinemaimultecuvinteacrorlitereaufostinterschimbate.
Peprimaliniesevaaflanumrul
N
decuvinte.
Pefiecaredinurmatoarele
N
liniisevaaflaunsirdecaractere(literemicialealfabetului
latin).

1.3Dateiesire
Fiieruldeiesire
joc.out
vaconine
N
linii.Pelinia
i
sevaaflanumrulminimdemutri
necesarepentruatransformairuldecaractereaflatpelinia
i+1
nfisieruldeintraresau
1
ncazulncareliterelenupotfirearanjatepentruaseobineunpalindrom.

1.4Precizari

1<=N<=1000
Dimensiunecuvnt<=250

1.5Exemplu

joc.in

joc.out

4
trtaccart
iaian
asd
aabb

2
3
1
2

2.Problema2
2.1Enun
AniiautrecutiGigeladevenitexpertinprogramareapeAndroid.Elnuestefoartemultumit
derezultatelefuncieiderecunoaterevocaldelaGoogleaacsagnditscreezeo
soluieproprie.

Larostireaunuicuvntaplicaiaiivareturnaunvectordevariantedelungimiegale,
apropiatedecuvantulinitial.Elconsidercsoluiaestesuficientdebunadac
fiecare
literdincuvntuliniial
segaseste
incelputinuna
dinvariante.Pentruaevalua
performanasoluieisaleGigelsagnditlaofuncie:

F(cuvant,variante)
=
numrulminimdeajustriasupracuvntuluirostit.

Oajustaresereferlatergereauneilitere,adugareauneiliteresaunlocuireauneilitere
cuoaltliterincuvantulinitial.

AvndoseriedetestencarecaracterelecuvintelorsuntcodificateincodASCII(fiecare
caracterestereprezentatdeunnumarcuprinsintre0si255inclusiv)ssedeterminece
rezultatevorfintoarsedefunciadeevaluare.

2.2Dateintrare
Fisierul
evaluare.in
vaconinepeprimalinie2valori
NR_VAR
si
N
separateprinspaiu,
reprezentndnumruldevariante,respectivnumruldecaracteredincareecompus
fiecarevariant.Peurmatoarele
NR_VAR
liniisegsesc
N
numerereprezentndcodificarea
ncodASCIIpentrufiecarevariant.Linia
NR_VAR+2
vaconine
M
,numruldecaractere
dincareecompuscuvntulrostit,iarpelinia
NR_VAR+3s
evorgasi
M
numere
reprezentand
codificareacuvntuluiiniial.

2.3Dateiesire
Fisierul
evaluare.out
vaconinerezultatulntorsdefunciadeevaluareaplicatpesetulde
datedinfisieruldeintrare,evaluare.in.

2.4Precizari
NR_VAR<=600
M,N<=1200

2.5Exemple

evaluare.in

evaluare.out

35
151087
08977
12345
5
12345

Explicatie:Cuvntulrostitesteidenticcuovarianta,decinuestenevoiedenicioajustare.

evaluare.in

evaluare.out

35
151087
08977
12345
4
11175

Explicatie:Cuvntulrostitnecesitaoinserarepepozitia2auneivaloridintre5,8sau2io
modificareanumrului11nunadinvalorile3,9sau10.

3.Problema3
3.1Enunt
Gigeliadescoperitonoupasiune,
circuiteleelectronice
.Elvreasiproiecteze
propriasaplacdebaz.Cumacestlucruestedestuldecomplicat,sarezumatlaai
conectamomentandoarunsetdepiniinconfiguratiacerutadeprocesor.Gigelarecteva
limitridecaretrebuiesincont:
Exist2tipuridepini,deinput(1)respectivdeoutput(0).
Toipiniisuntpoziionaipeosingurliniepeplacadebaz,lamargineainferioar.
Unpindeinputtrebuiesseconectezeneapratlaunsingurpindeoutput.Analog,
unpindeoutputtrebuiesaseconectezeneaparatlaunsingurpindeinput.
Traseeledeconectarepotfirealizatedoarpeverticalaipeorizontala.
Traseeledeconectarenusepotsuprapune.

ntructspaiuldisponibilestemic,Gigelvroagslajutaistrasezecelemaiscurte
trasee,dnduseconfiguraiapinilor,astfelnctlungimeatotalatraseelorsfieminim.

Unexempludecablaj:

nexempluldemaisusseobservcumfiecarepindeinput(1),esteconectatlaunsingur
pindeoutput(0).Traseelenuseintersecteaza.
Pentrucalcululdistaneisevorfolosiurmtoareledistane:
Distantadintre2piniadiacentiestede1unitate.
Celmaimicsegmentdetraseupeverticalaare1unitate.

Conformexemplului,distaneletraseelordintrepinisunturmtoarele:
Perechea(1,8):
3vertical+7orizontal+3vertical= 13
uniti.
Perechea(2,7):
2vertical+5orizontal+2vertical= 9
uniti.
Perechea(3,4):
1vertical+1orizontal+1vertical= 3
uniti.
Perechea(5,6):
1vertical+1orizontal+1vertical= 3
uniti.
Perechea(9,10):
1vertical+1orizontal+1vertical= 3
uniti.
Total:
31
uniti.

3.2Dateintrare

Fiieruldeintrare
cablaj.in
vaconinepeprimalinienumrul
N
alpinilordetip1.
N
reprezintadeasemeneainumrulpinilordetip0.
Peurmtoarealinieseaflosuccesiunedecifre0i1,neseparateprinspaii,reprezentnd
configuraiapinilor.ntotal2*Ncifre.

3.3Dateiesire
Fiieruldeieire
cablaj.out
vaconinepeprimalinieunnumrnaturalnenul,reprezentnd
lungimeaminimtotalatraseelordeconectarefolosite,iarfiecaredintreurmtoareleNlinii
vaconinedounumerenaturalex,y,separateprintrunspaiu,reprezentndnumrulde
ordineadoipinicaresevorconectaperechilecaresevorscrienfiiervorfiordonate
cresctornfunciedevaloareax.

3.4Precizari:
1<=N<=50

3.5Exemple:

cablaj.in

cablaj.out

31

1110100010

18
27
34
56
910

4.Punctare
Punctajulpentruprimeledouproblemeestede40depunctefiecare.Atreiaproblemaare
unpunctajde60depuncte.10punctevorfiacordatepentrucodingstyle,10punctepentru
comentariiiREADME.PunctajulpeREADMEsicomentariiestecondiionatdeobinereaa
unuipunctajpozitivpecelpuinuntest.Pentrudetaliiputeisvuitaiipesteregulile
generaledetrimitereatemelor.

Primaproblemesteobligatorie.Dintreproblemele2si3,puteirezolvauna,laalegere.
Punctajulmaximcarevafiacordatpetemaestede120depuncte.

Vorexistamaimultetestepentrufiecareprobleminparte.Punctelepetestesunt
independente,punctajulpeunanumittestnefiindcondiionatdealteteste.Fiecareproblem
vaaveaolimitdetimppetest(precizatmaijos)dacexecuiaprogramuluipeuntestal
aceleiproblemevaduramaimultdectlimitadetimpveiprimiautomat0punctepetestul
respectiviexecuiavafintrerupt.nfiierulREADMEvatrebuisdescrieisoluiapecare
aialesopentrufiecareproblem,sprecizaicomplexitateapentrufiecareialtelucruripe
careleconsideraiutiledemenionat.Corectoriiirezervdreptuldeascdeapunctedac
vorconsideraacestlucrunecesar.

5.Formatarhivitestare
TemelepotfitestateautomatpevmcheckeracestasuporttemelerezolvateinC/C++i
Java.
DacdoriisrealizaitemanaltlimbajtrebuiesitrimiteiunemailluiTraianRebedea
(traian.rebedea@cs.pub.ro)ncaresicereiexplicitacestlucru.

Arhivacurezolvareatemeitrebuiesfie.zipisconin:

Fiierul/fiierelesurs
FiierulMakefile
FiierulREADME

FiierulpentrumaketrebuiedenumitobligatoriuMakefileitrebuiesconinurmtoarele
reguli:
build,carevacompilasurseleivaobineexecutabilele
runp1,carevarulaexecutabilulpentruproblema1
runp2,carevarulaexecutabilulpentruproblema2
runp3,carevarulaexecutabilulpentruproblema3
clean,carevatergeexecutabilelegenerate

Atentie!
Numeleregulilortrebuiesfieexactceledemaisus,nspecialpentrucelederun.
Absenasaudenumireadiferitaacestoravaaveadreptconsecinobinereaa0punctepe
testeleasociateproblemeirezolvatederegularespectiv.

Atenie!
PentruceicefolosescC/C++
NU
estepermiscompilareacuopiunideoptimizare
acodului(O1,O2,etc.).
Limiteledetimppentruproblema1sunt:
C/C++:Xsecunde
Java:Xsecunde

Limiteledetimppentruproblema2sunt:
C/C++:Xsecunde
Java:Xsecunde

Limiteledetimppentruproblema3sunt:
C/C++:Xsecunde
Java:Xsecunde

S-ar putea să vă placă și