-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfindSolution.cpp
More file actions
28 lines (27 loc) · 825 Bytes
/
findSolution.cpp
File metadata and controls
28 lines (27 loc) · 825 Bytes
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
/*
* // This is the custom function interface.
* // You should not implement it, or speculate about its implementation
* class CustomFunction {
* public:
* // Returns f(x, y) for any given positive integers x and y.
* // Note that f(x, y) is increasing with respect to both x and y.
* // i.e. f(x, y) < f(x + 1, y), f(x, y) < f(x, y + 1)
* int f(int x, int y);
* };
*/
class Solution {
public:
vector<vector<int>> findSolution(CustomFunction& customfunction, int z) {
vector<vector<int>> ans;
int x = 1, y = 1000;
while (x <= 1000 && y) {
int t = customfunction.f(x, y);
if (t == z) {
ans.push_back({x++, y--});
}
else if (t > z) --y;
else ++x;
}
return std::move(ans);
}
};