Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: theem1502

Problemset: สำรวจอาเรย์ 2

Language: c

Time: 0.006 second

Submitted On: 2025-09-21 11:34:45

#include <stdio.h>
#include <stdlib.h>

int main() {
    int row, collumn;
    scanf("%d %d", &row, &collumn);

    int **thearray = malloc(row * sizeof(int*));
    for (int i = 0; i < row; i++) {
        thearray[i] = malloc(collumn * sizeof(int));
    }

    for (int i = 0; i < row; i++) {
        for (int j = 0; j < collumn; j++) {
            scanf("%d", &thearray[i][j]);
        }
    }

    int num;
    scanf("%d", &num);
    int *xcoordinates = malloc(num * sizeof(int));
    int *ycoordinates = malloc(num * sizeof(int));

    for (int i = 0; i < num; i++) {
        scanf("%d %d", &xcoordinates[i], &ycoordinates[i]);
    }
    int sum[4] = {0};
    int oddnum = 0, evennum = 0, positivenum = 0, negativenum = 0;
    int previousxcoordinates = 0, previousycoordinates = 0;
    for (int i = 0; i < num; i++) {
        



        if (xcoordinates[i] <= 0 || ycoordinates[i] <= 0 || ycoordinates[i] > collumn || xcoordinates[i] > row) {

            positivenum += sum[0];
            negativenum += sum[1];
            evennum += sum[2];
            oddnum += sum[3];
        }

        else {
            for (int j = 0; j < 4; j++) {
            sum[j] = 0;
        }

        int currentnum = thearray[xcoordinates[i] - 1][ycoordinates[i] - 1];

        if (currentnum > 0) {
            sum[0]++;
        }
        else if(currentnum < 0) {
            sum[1]++;
        }

        if (currentnum % 2 == 0) {
            sum[2]++;
        }
        else {
            sum[3]++;
        }
        positivenum += sum[0];
            negativenum += sum[1];
            evennum += sum[2];
            oddnum += sum[3];


    }
    }


    printf("%d %d %d %d ", positivenum, negativenum, evennum, oddnum);
}