Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Catpao

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

Language: cpp

Time: 0.010 second

Submitted On: 2025-10-04 22:04:46

#include<bits/stdc++.h>
using namespace std;
int a[300][300];
int main()
{
	int x,y;
	cin>>x;
	cin>>y;
	for(int i=1;i<=x;i++){
		for(int j=1;j<=y;j++){
			cin>>a[i][j];
		}
	}
	int k,b,c,count_plus=0,count_minus=0,count_even=0,count_odd=0,d = 0,e = 0;
	cin>>k;
	for(int i=1;i<=k;i++){
		cin>>b>>c;
		if(b<1||c<1||b>x||c>y){
			if(d == 1 && e == 1){
				count_even++;
				count_plus++;
				continue;
			}
			else if(d == 1 && e == 2){
				count_even++;
				count_minus++;
				continue;
			}
			else if(d == 2 && e == 1){
				count_odd++;
				count_plus++;
				continue;
			}
			else if(d == 2 && e == 2){
				count_odd++;
				count_minus++;
				continue;
			}
			else if(d == 1 && e !=1 && e !=2){
				count_even++;
				continue;
			}
			else{
				continue;
			}
		}
		d = 0;
		e = 0;
		if(a[b][c]==0){
			d = 1;
			count_even++;
			continue;
		}
		if(a[b][c]>0){
			e = 1;
			count_plus++;
		}
		if(a[b][c]<0){
			e = 2;
			count_minus++;
		}
		if(a[b][c]%2==0){
			d = 1;
			count_even++;
		}
		if(a[b][c]%2==1||a[b][c]%2==-1){
			d = 2;
			count_odd++;
		}
	}
	cout<<count_plus<<' '<<count_minus<<' '<<count_even<<' '<<count_odd;
}