Documente Academic
Documente Profesional
Documente Cultură
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