Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Sunsblad

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

Language: cpp

Time: 0.009 second

Submitted On: 2026-04-11 17:36:17

#include <iostream>
using namespace std;
int main()
{
	int row,collum,n,rowpos,collumpos,plus = 0,minus = 0,even = 0,odd = 0;
	bool lastp = false, lastn = false, lasto = false, laste = false;
	cin >> row >> collum;
	int box[301][301];
	for (int i = 1; i < row+1; i++) {
		for (int j = 1; j < collum+1; j++) {
			cin >> box[i][j];
		}
	}
	cin >> n;
	int valuetmp;
	for (int i = 0; i < n; i++) {
		cin >> rowpos >> collumpos;
		valuetmp = box[rowpos][collumpos];
		if (rowpos > 0 && collumpos > 0 && rowpos < row+1 && collumpos < collum+1) {
			if (valuetmp > 0) {
				if (valuetmp % 2 == 0) {
					lastp = true;
					lastn = false;
					laste = true;
					lasto = false;
				}
				else {
					lastp = true;
					lastn = false;
					laste = false;
					lasto = true;
				}
			}
			else if (valuetmp < 0) {
				if (valuetmp % 2 == 0) {
					lastp = false;
					lastn = true;
					laste = true;
					lasto = false;
				}
				else {
					lastp = false;
					lastn = true;
					laste = false;
					lasto = true;
				}
			}
			else {//0
				lastp = false;
				lastn = false;
				laste = true;
				lasto = false;
			}
		}
		if (lastp == 1) {
			plus++;
		}
		if (lastn == 1) {
			minus++;
		}
		if (laste == 1) {
			even++;
		}
		if (lasto == 1) {
			odd++;
		}
	}
	cout << plus << ' ' << minus << ' ' << even <<' '<< odd;
}