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;
}