Submission
Status:
----------
Subtask/Task Score:
0/100
Score: 0
User: Jokul
Problemset: สำรวจอาเรย์ 2
Language: c
Time: 0.005 second
Submitted On: 2025-10-06 22:11:16
#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];
for(int i=1;i<=k;i++)
{
scanf("%d",&coor[i][0]);
scanf("%d",&coor[i][1]);
pos[i]=pos[i-1];
neg[i]=neg[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
{
pos[i]=pos[i-1];
neg[i]=neg[i-1];
if(odd[i-1]!=odd[i-2])
{
odd[i]=odd[i-1]+1;
even[i]=even[i-1];
}
else if(even[i-1]!=even[i-2])
{
odd[i]=odd[i-1];
even[i]=even[i-1]+1;
}
}
}
printf("%d %d %d %d",pos[k],neg[k],even[k],odd[k]);
}