Submission

Status:

----------

Subtask/Task Score:

0/100

Score: 0

User: Jokul

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

Language: c

Time: 0.005 second

Submitted On: 2025-10-06 21:51:40

#include<stdio.h>
int main(){
    int r,c;
    scanf("%d  %d",&r,&c);
    int a[r][c];

    for(int i=0;i<r;i++)
    {
        for(int j=0;j<c;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    int k;
    scanf("%d",&k);
    int neg[k+1],pos[k+1],odd[k+1],even[k+1];
    neg[0]=0;
    pos[0]=0;
    odd[0]=0;
    even[0]=0;
    int coor[k+1][2],count=0;
    for(int i=1;i<=k;i++)
    {
    scanf("%d",&coor[i][0]);
    scanf("%d",&coor[i][1]);
    if(coor[i][0]>0&&coor[i][1]>0&&coor[i][0]<=r&&coor[i][1]<=c){
    if(a[coor[i][0]-1][coor[i][1]-1]>=0)
    {
        pos[i]=pos[i-1]+1;
        neg[i]=neg[i-1];
    }
    else if(a[coor[i][0]-1][coor[i][1]-1]<0)
    {
        neg[i]=neg[i-1]+1;
        pos[i]=pos[i];
    }
    if(a[coor[i][0]-1][coor[i][1]-1]%2==0)
    {
        even[i]=even[i-1]+1;
        odd[i]=odd[i-1];
    }
    else
    {
        odd[i]=odd[i-1]+1;
        even[i]=even[i-1];
    }
    }
    else
    {
        count=0;
        if(pos[i-1]!=pos[i-2])
        {
            pos[i]=pos[i-1]+1;
            neg[i]=neg[i-1];
            count++;
        }
        if(neg[i-1]!=neg[i-2])
        {
            neg[i]=neg[i-1]+1;
            pos[i]=pos[i-1];
            count++;
        }
        count=0;
        if(odd[i-1]!=odd[i-2]&&count==0)
        {
            odd[i]=odd[i-1]+1;
            even[i]=even[i-1];
            count++;
        }
        if(even[i-1]!=even[i-2]&&count==0)
        {
            odd[i]=odd[i-1];
            even[i]=even[i-1]+1;
            count++;
        }
    }
    }
    printf(" \n%d %d %d %d",pos[k]+1,neg[k],even[k],odd[k]);
}