summaryrefslogtreecommitdiffstats
path: root/inf/rtk/šolsko/1.c
blob: f93eb9465ae088aa19db3ec677071e8ebf6d71f9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (void) {
	char buf[1024];
	double z = 0;
	fgets(buf, 1024, stdin); /* prva vrstica ni potrebna */
	fgets(buf, 1024, stdin);
	while (!feof(stdin)) { /* gremo čez vsako vrstico */
		int i = 0; /* indeks */
		int m = 1; /* trenutni imenovalec */
		do {
			m *= 2; /* povečamo trenutni imenovalec */
			if (buf[i] == 'S') {
				z += 1 / (double) m; /* povečamo za trenutno velikost kosa */
				/* fprintf(stderr, "sadi, %d, %f\n", m, z); */
			}
			i++;
		} while (buf[i-1] != '\n' && buf[i-1] != 0 && buf[i-1] != '\r'); /* konec vhoda */
		fgets(buf, 1024, stdin); /* poberemo novo vrstico */
	}
	printf("%d\n", (int) ceil(z)); /* izpišemo vrednost, zaokroženo navzgor */
	return 0; /* končamo program */
}