blob: dff0ae95315b492bf00f1ef4860c10823b4d6c06 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#include <algorithm>
#include <cstdint>
#include <iostream>
#include <map>
#include <ranges>
#include <set>
#include <sstream>
#include <string>
#include <string_view>
#include <vector>
using namespace std;
#define N 101
#define M 103
#define T 100
int quadrant(pair<int64_t, int64_t> p) {
if (p.first < N/2 && p.second < M/2)
return 1;
if (p.first < N/2 && p.second > M/2)
return 2;
if (p.first > N/2 && p.second < M/2)
return 3;
if (p.first > N/2 && p.second > M/2)
return 4;
return 0;
}
int main() {
string line;
int64_t p1, p2, v1, v2, q[5] = {0};
while (cin >> p1 >> p2 >> v1 >> v2) {
pair<int64_t, int64_t> final((p1 + T*(v1+N)) % N, (p2 + T*(v2+M)) % M);
q[quadrant(final)]++;
}
cout << q[1] * q[2] * q[3] * q[4] << endl;
return 0;
}
|