ultima problemă
grupă: micăsursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
ocrTimp maxim de execuţie / test:
0.1 s
Memorie totala disponibilă / stivă:
2 MB / 1 MB
O imagine va fi reprezentată ca un tablou dreptunghiular de numere reale, fiecare număr reprezentând o valoare pe scala de gri a imaginii. Valorile sunt cuprinse între
0
(corespunzând unei regiuni total albe) şi
1
(pentru zona total neagră), cu două zecimale.
Centrul de gravitate al imaginii este un element al tabloului. Să presupunem că el se află pe linia
i
şi coloana
j
. Atunci diferenţa, în modul, dintre suma elementelor din zona aflată deasupra liniei
i
şi suma elementelor din zona aflată sub linia
i
, este minimă. În mod analog, pentru această diferenţă minimă, diferenţa, în modul, dintre suma elementelor din stânga coloanei
j
şi suma elementelor din dreapta coloanei
j
trebuie să fie de asemenea minimă.
Să considerăm ca exemplu următorul tabloul care poate proveni din scanarea literei mici
′o′
. Centrul de gravitate este pe linia
3
şi coloana
3
, deoarece diferenţa sumelor elementelor din fiecare zonă formată ignorând linia a treia este
0.1
(sumele sunt
5.55
şi
5.65
) şi de asemenea, diferenţa sumelor elementelor fiecărei zone formate ignorând coloana a treia este
0.1
(sumele sunt
5.60
şi
5.70
).
0.70 0.75 |0.70| 0.75 0.80
0.55 0.30 |0.20| 0.10 0.70
----------|----|----------
0.80 0.10 |0.10| 0.10 0.80
----------|----|----------
0.70 0.00 |0.00| 0.00 0.80
0.80 0.90 |0.80| 0.75 0.90
Cerinţă
Scrieţi un program care să determine centrul de gravitate al unei imagini scanate.
Date de intrare
Fişierul text de intrare
ocr.in
conţine reprezentarea unei imagini. Prima linie a fişierului de intrare conţine două valori naturale
n
şi
m
separate printr-un spaţiu reprezentând numărul de linii şi respectiv numărul de coloane ale tabloului. Urmează
n
linii, fiecare conţinând câte
m
numere reale din intervalul
[0, 1]
separate prin câte un spaţiu, reprezentând imaginea scanată.
Date de ieşire
Fişierul de ieşire
ocr.out
va conţine o singură linie pe care se găsesc două numere naturale
l
şi
c
, separate printr-un spaţiu, reprezentând coordonatele (linie, coloană) centrului de gravitate. În cazul în care sunt determinate mai multe centre de gravitate, se vor afişa coordonatele celui cu indicele de linie maxim; dacă există mai multe centre de gravitate pe aceeaşi linie, se va afişa cel cu indicele de coloană maxim.
Restricţii
1 <= n, m <= 50
Valorile reale sunt exprimate cu maximum două zecimale.
Liniile sunt numerotate de la
1
la
n
(de sus în jos), iar coloanele de la
1
la
m
(de la stânga la dreapta).
Exemple
ocr.in
ocr.out
5 5
0.1 0.2 0.1 0.2 0.1
0.1 0.2 0.3 0.1 0.1
0.2 0.3 0.1 0.1 0.3
0.4 0.1 0.1 0.1 0.2
0.2 0.2 0.3 0.3 0.1
3 3
5 10
0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3
0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.4
0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.6
4 6
autor: Prof. Marinel Şerban propunător: Prof. Marinel Şerban Liceul de Informatică “Grigore Moisil” marinel_serban@yahoo.com
Articole recomandate
Probleme recomandate
De la OJI 2005 : multimi , ucif , sir4 , numere6 , volei1 , tabel , numere7 , lacusta , scara1 , scara2 , lant De acelaşi autor : premii , finala , fractii , trei , manevre , nrcuv , an , vopsea , opmat , tramvai , bipal , kpal , sarpe , replace , factori , barca , perechi , grupe , cod , reactii , factura , decript , trenuri , holo , cifre , firma , tribile , mesaj , tricouri , pajura , monede , programs , fry , repeat , red , pavaj , bacan , nrbinar , invest , cutie2 , loc , depou , nr3 , zid , felinare , sir3 , sqr , carte , labirint , stea , count , evaluare , super , schimb , zaruri , vectori , spirala , desen1 , rima , ceas1 , romane , sms , bac , excursia , joc7 , furnici , munte1 , cezar , marcare , excursie1 , culmi , sume1 , schi , nr4 , fractie , cod3 , medii , tren3 , top , sant1 , imagine , perfect , pluton , reforma , alee , ceas2 , paritate , borcane , aranjare , comoara1 , culmi1 , reactivi , submult , sablon1 , sir8 , sume2 , dansatori , smith , tom , matriosca , asociativ , control1 , calorii , immortal , concat , mat , cubinvers , mine , divizori , cheie , stelar , joct , minmax , cladire , adunscad , razboi , ore , oras1 , sumprod , prisme , operatii1 , lgdrum , unupatru , chibrituri , extraprime , prieten , rebus1 , grindina , opmult , betisoare , antitero , clase , pagini , ornament , ordine , spioni1 Despre matrice : vopsea , harta , opmat , sarpe , light , magic2 , tetris , origami , concurs , iepuras , tribile , criptmat , cutie , patrate , 3d , pajura , perspic , vecini2 , livada , matrice3 , kafka , erdos , grup , scor2 , reteta2 , rezervatie , scoici , tablou , game , stea , submatrix , cifru , jokes , oua , trecere , na , dotnet , renju , ghici , mere1 , agitatie , lacuri , sotron , desen1 , camion , ceas1 , fibo , parc , excursia , matricea , zidar , joc6 , log , concurs2 , cladiri , dist , centru , robinson , cuburi2 , joc8 , joc9 , romeo , adevar , soricel2 , avere , joc11 , vizibil , sah1 , blockout , masina3 , lsort , anticip , matrice1 , evantai , spion , pereti , zumzi , roboti , placare , tabel , numere7 , lacusta , becuri , sir5 , flori , cartele , furnica , pavare , poarta , rj , peri , poligon2 , sablon1 , gradina , matrice4 , poartas , balcon , submdisj , v , matrx , figura , neuroni , raze , roboti1 , bila , iepurasi , colorare , mat , submatrix1 , simetric1 , plaja , xor2 , guess , albine1 , joct , alfabetar , stele , tablou1 , alpinist , cladire , cri , grupe2 , el , mahjong , sir9 , acces , tort1 , joc17 , mesaj3 , zar1 , xy , poteci , avioane , broscute , safeu , acoperire1 , radioactiv , robot4 , lcdr , jb , slide , maxtri , dame , triunghi4 , elicop , compresie , mijloc , cubulete , romb , medalion , bile6 , zigzag , puncte5 , intersectii , matd3 , matrixdel , speed , seif1 , traseu2 , incadrare , betasah , zona , latin , zmax , amestec , sudoku1 , gradina1 , spider , zone , bemo , rombul , interclasare , rebus1 , tabla , arrows , pseudobil , patrat1 , rascoala , harta2 , relatii , lasere , defrag , matcnt , ssdj , cript , ssk , teren1 , fence , cifre6 Despre vector : trei , simetric , egal , ruleta , pod , uscat , afise , an , bunici , cursa , onu , tramvai , cadou , kpal , expresie , piticot , roci , petrol , grad , ruleta2 , ecran , palma , concurs , holo , ab2 , tren2 , cifre , mgo , firma , anagrame , joc2 , br , maxim , astre , numere2 , baby , zapada , hd , startrek , vecini2 , drept , teatru , tir , patrate2 , nr , cifra , repeat , unu , criptare , ratb , placi , sume3 , turist , matrice3 , pavaj , sume , kafka , bacan , spair , grup , friends2 , bitslang , fisc , scor2 , cat , nr3 , chimie2 , zid , politics , submat , reteta2 , rezervatie , creioane , felinare , 2numere , exp , scoici , patrate1 , playlist , sqr , carte , oua , turn , ants , div3 , jeton , politic , trecere , maraton , zaruri , suma1 , mere1 , agitatie , lacuri , secv , sotron , triunghi , carti1 , spioni , kalah , excursia , matricea , maxq , oras , furnici , baschet , ingerasi , numar1 , prieteni , aritma , cezar , bifo , pal , seceta , bare , soricel1 , antena , avere , paianjen , bloc , schi , suma3 , fractie , tunel , pepsi , prefix , tren3 , avion , premii1 , csir , top , bsir , secvente , cod4 , cuburi3 , limbaj , panouri , sant1 , zumzi , sport1 , baschet1 , mere3 , powerpuff , placare , sir4 , volei1 , tabel , numere7 , lacusta , flori , pluton , elfi , mare , grupe1 , maroco , cartonas , cabina , case , cod5 , furnica , numere8 , paritate , comoara1 , exponent , control , exp1 , joc13 , popas , reactivi , siruri1 , vanatoare , submult , text1 , taxe1 , visul , paranteze , puncte3 , cub3 , numere9 , panglica , pietre , poartas , sume2 , bal , secvsir , vot , prefix1 , accesibil , palc , standard , bursa , meteo , jetoane , printesa , palindrom , joker , matriosca , loto , cuvant , cladiri1 , secvente1 , zar , tren4 , asociativ , lego , medalii , figura , joc14 , neuroni , char , dartz , turism1 , calorii , xor1 , paltrei , album , livada1 , colorare , greutati , brazi , submatrix1 , plaja , cd1 , cifru3 , permutare , miere , tetris1 , conferinta , atelier , radical , bileprime , nx , atletism , sumb , minmax , sumacifre , jocprim , sircifre , cmmdcsecv , secvb , siruri3 , cifru4 , vase , carte1 , grad1 , litere , magic6 , macheta , butoane , ec , stalpi2 , fagure , goe , papusa , taburet , mesaj3 , zar1 , joc16 , talent , joc18 , cos , punctfix , risipa , liste , triburi , nr0 , oneton , nor , nrpomi , paisprezece , anagramabil , zuma , joc20 , dale , perechi2 , consiliu , becuri2 , codpatrat , adprod , qtri , reconst , arme , triunghi4 , deal , ozn1 , cifru5 , flori1 , elicop , roata , trifoi , maxbin , culori2 , numar5 , bile6 , proiecte , alune , cuburi4 , sstabil , intersectii , copaci2 , 7segmente , amedie , drept2 , divider , eliminare , matd3 , prodnr , fraze , vectori1 , compar , unific , galbeni , clepsidru , calcule , puncte6 , maxp , cursa1 , secvp , swap , extraprime , onigim , divizori1 , remi1 , tetris3 , amestec , eoliene , split , momente , secvente2 , ausoara , aranjare2 , vintage , binremove , sminus , subsets , interclasare , palindromuri , colina , doitrei , rebus1 , tcif , munte3 , triunghi6 , schi1 , rascoala , solitar , praslea , vot2 , tema , sprime , sir2dif , aperm , unudoi , prajituri , tan , concurs4 , ech , arc , dominant , ordine , tv1 , nebuni , sort2dist , lightbot , iepuras1 , castig Despre structura repetitiva : cifre1 , super , schimb , jeton , descfib , taxe , romane , mobile , cuburi3 , tzigla , morse , powerpuff , multimi , ucif , tabel , numere7 , cifre2 , piramida , vraji , reforma , cartonas , cabina , case , desen2 , exponent , cifre3 , concurs3 , joc13 , reactivi , vanatoare , submult , paranteze , tort , copaci1 , ogorul , puncte3 , efort , muzeu , smith , biliard , palc , prod3 , fazanr , cadouri , bursa , meteo , prodmax , zar , tren4 , lego , maraton1 , cluburi , domino1 , jump , alo , cifra1 , case1 , brazi , greiere , divizori , pitag , porumb , secv9 , divk , rachete , pin , sumacifre , aritm , psp , triplu , triunghi3 , cmmdcsecv , ssmax , ape , furnici1 , domino2 , acoperire1 , ore , pegals , b2k , sumdivprod , subsecvmax , dale , bancomat , sume4 , alice , porumb1 , albine2 , culegere , stele1 , medalion , cifreco , meteo1 , unupatru , xyz , vistiernic , chibrituri , bete1 , greieri , interviu , prieten , prize , conturi , numere12 , martisoare , piramide , pagini , punctul , tablita , pavare1 , ordine , covor1 , speciale , echer , numere13 Despre structura alternativa : cuburi3 , multimi , ucif , tabel , numere7 , cabina , exponent , cifre3 , concurs3 , joc13 , reactivi , vanatoare , submult , visul , paranteze , copaci1 , ogorul , muzeu , timer , triunghi1 , piatra , greiere , numerus , ape , domino2 , ore , pegals , alun , chibrituri , interviu