Advertisement
Guest User

Untitled

a guest
Nov 8th, 2022
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.10 KB | Source Code | 0 0
  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 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.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement