View difference between Paste ID: Q4TWUMF0 and TyjyM6P8
SHOW: | | - or go back to the newest paste.
1
#include <stdio.h>
2
#include <stdlib.h>
3
4
int main()
5
{
6
    FILE *txt;
7
    int lepesSzam, sinSzelesseg, robotPozicio = 0, raketaSzukseglet = 0;
8
9
    int *egbolt;
10
11
    txt = fopen("be.txt", "r");
12
    fscanf(txt, "%d %d...\n", &lepesSzam, &sinSzelesseg);
13
    egbolt = malloc(sinSzelesseg * sizeof(int));
14
15
    for (int lepes = 0; lepes < lepesSzam; lepes++) {
16
        for (int i = 0; i < sinSzelesseg; i++) {
17
            fscanf(txt, "%d", &egbolt[i]);
18
        }
19
20
        if (! lepes) {
21
            for (int i = 0; i < sinSzelesseg; i++) {
22
                if (egbolt[i]) {
23
                    robotPozicio = i;
24
                    break;
25
                }
26
            }
27
        }
28
29
        int meteorSzam = 0, balraSzam = 0, jobbraSzam = 0, kozelSzam = 0, kozelPozicio;
30
        for (int i = 0; i < sinSzelesseg; i++) {
31
            if (egbolt[i]) {
32
                meteorSzam++;
33
                if (i < robotPozicio) {
34
                    balraSzam++;
35-
                } else {
35+
                } else if (i > robotPozicio) {
36
                    jobbraSzam++;
37
                }
38
                if (abs(i - robotPozicio) <= 1) {
39
                    kozelSzam++;
40
                    kozelPozicio = i;
41
                }
42
            }
43
        }
44
45
        if (meteorSzam) {
46
            if (kozelSzam == 1) {
47
                robotPozicio = kozelPozicio;
48
            } else if (balraSzam != jobbraSzam) {
49
                robotPozicio += balraSzam > jobbraSzam ? -1 : 1;
50
            }
51
        }
52
53
        for (int i = 0; i < sinSzelesseg; i++) {
54
            if (egbolt[i] && i != robotPozicio) {
55
                raketaSzukseglet++;
56
            }
57
        }
58
59
// DEBUG eleje
60
        printf("%3d.     |", lepes + 1);
61
        for (int i = 0; i < sinSzelesseg; i++) {
62
            printf("%s%s%s|", egbolt[i] ? "(" : " ", i == robotPozicio ? "r" : egbolt[i] ? "X" : " ", egbolt[i] ? ")" : " ");
63
        }
64
        printf("     :%d\n", raketaSzukseglet);
65
// DEBUG vege */
66
    }
67
68
    free(egbolt);
69
    fclose(txt);
70
71
    txt = fopen("ki.txt", "w");
72
    fprintf(txt, "%d\n", raketaSzukseglet);
73
    fclose(txt);
74
75
    return 0;
76
}
77