Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Whatthepoop

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

Language: c

Time: 0.005 second

Submitted On: 2025-10-12 17:27:03

#include <stdio.h>

int main(){
    int R, C, K;
    scanf("%d %d", &R, &C);

    int arr[R][C];
    for(int i = 0; i < R; i++){
        for(int j = 0; j < C; j++){
            scanf("%d", &arr[i][j]);
        }
    }

    scanf("%d", &K);
    int plus = 0, minus = 0, even = 0, odd = 0;
    int isPlus = 0, isMinus = 0, isEven = 0, isOdd = 0;

    for(int i = 0; i < K; i++){
        int x, y;

        scanf("%d %d", &x, &y);

        if(x < 1 || y < 1 || x > R || y > C){
            if(isPlus) plus++;
            if(isMinus) minus++;
            if(isEven) even++;
            if(isOdd) odd++;
            continue;
        }
        
        isPlus = isMinus = isEven = isOdd = 0;

        int pos = arr[x-1][y-1];

        if(pos < 0){
            minus++;
            isMinus = 1;
        }
        else if(pos > 0){
            plus++;
            isPlus = 1;
        }

        if(pos%2 == 0){
            even++;
            isEven = 1;
        }
        else{
            odd++;
            isOdd = 1;
        }

        //printf("%d || %d %d %d %d\n",pos, isPlus, isMinus, isEven, isOdd);
    }

    printf("%d %d %d %d", plus, minus, even, odd);

    return 0;
}