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 |