Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- FILE *txt;
- int lepesSzam, sinSzelesseg, robotPozicio = 0, raketaSzukseglet = 0;
- int *egbolt;
- txt = fopen("be.txt", "r");
- fscanf(txt, "%d %d...\n", &lepesSzam, &sinSzelesseg);
- egbolt = malloc(sinSzelesseg * sizeof(int));
- for (int lepes = 0; lepes < lepesSzam; lepes++) {
- for (int i = 0; i < sinSzelesseg; i++) {
- fscanf(txt, "%d", &egbolt[i]);
- }
- if (! lepes) {
- for (int i = 0; i < sinSzelesseg; i++) {
- if (egbolt[i]) {
- robotPozicio = i;
- break;
- }
- }
- }
- int meteorSzam = 0, balraSzam = 0, jobbraSzam = 0, kozelSzam = 0, kozelPozicio;
- for (int i = 0; i < sinSzelesseg; i++) {
- if (egbolt[i]) {
- meteorSzam++;
- if (i < robotPozicio) {
- balraSzam++;
- } else if (i > robotPozicio) {
- jobbraSzam++;
- }
- if (abs(i - robotPozicio) <= 1) {
- kozelSzam++;
- kozelPozicio = i;
- }
- }
- }
- if (meteorSzam) {
- if (kozelSzam == 1) {
- robotPozicio = kozelPozicio;
- } else if (balraSzam != jobbraSzam) {
- robotPozicio += balraSzam > jobbraSzam ? -1 : 1;
- }
- }
- for (int i = 0; i < sinSzelesseg; i++) {
- if (egbolt[i] && i != robotPozicio) {
- raketaSzukseglet++;
- }
- }
- // DEBUG eleje
- printf("%3d. |", lepes + 1);
- for (int i = 0; i < sinSzelesseg; i++) {
- printf("%s%s%s|", egbolt[i] ? "(" : " ", i == robotPozicio ? "r" : egbolt[i] ? "X" : " ", egbolt[i] ? ")" : " ");
- }
- printf(" :%d\n", raketaSzukseglet);
- // DEBUG vege */
- }
- free(egbolt);
- fclose(txt);
- txt = fopen("ki.txt", "w");
- fprintf(txt, "%d\n", raketaSzukseglet);
- fclose(txt);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement