summaryrefslogtreecommitdiffstats
path: root/inf/rtk/šolsko/5.c
blob: ed777ebc1b72ece52875cacea2114adea5f728f6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
opisna naivna rešitev: (levo pomeni z manjšim indeksom, desno pa z večjim indeksom)

Naredimo seznam z elementi:

struct stoplnica {
	int višina;
	int indeks;
	int barva; // barva je na začetku siva - 0
};

Sedaj moramo spremeniti vsak element seznama tako, da noben element seznama ne bo imel .barva == 0.

Naredimo spremenljivko maksbarva in jo inicializiramo na 0.

Začnemo pri elementu 0. Najti moramo element z nastavljeno barvo (torej .barva != 0), ki ga ne vidimo.

Gledamo element vedno bolj levo, dokler ne dobimo takega, ki ga ne vidimo in ni direktno poleg nas (njegov desni element ne smemo biti mi). Ko ga najdemo, uporabimo to barvo elementa kot našo barvo. Če pridemo do začetka seznama, povečamo spremenljivko maksbarva in trenutnemu elementu nastavimo .barva na maksbarva.

Ko nastavimo barvo zadnjemu elementu, izpišemo spremenljivko maksbarva na standardni izhod in zaključimo program.

*/