QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#316144 | #6395. Equation Discovering | rgnerdplayer | RE | 7ms | 9744kb | C++20 | 1.6kb | 2024-01-27 17:43:41 | 2024-01-27 17:43:42 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
auto solve = [&]() {
int n;
cin >> n;
valarray<double> x(n), y(n);
for (int i = 0; i < n; i++) {
cin >> x[i] >> y[i];
}
vector<vector<pair<string, valarray<double>>>> expr(10);
expr[0].emplace_back("x", x);
for (int n = 0; n <= 9; n++) {
for (auto [s, a] : expr[n]) {
if (abs(a - y).max() <= 1e-3) {
cout << s << '\n';
return;
}
}
for (auto [s, a] : expr[n]) {
expr[n + 1].emplace_back("sin(" + s + ")", sin(a));
expr[n + 1].emplace_back("cos(" + s + ")", cos(a));
}
for (int i = 0; i <= n; i++) {
int j = n - i;
for (auto [s1, a1] : expr[i]) {
for (auto [s2, a2] : expr[j]) {
if (i <= j) {
expr[i + j + 2].emplace_back("(" + s1 + "+" + s2 + ")", a1 + a2);
expr[i + j + 2].emplace_back("(" + s1 + "*" + s2 + ")", a1 * a2);
}
expr[i + j + 2].emplace_back("(" + s1 + "-" + s2 + ")", a1 - a2);
if (abs(a2).min() >= 0.01) {
expr[i + j + 2].emplace_back("(" + s1 + "/" + s2 + ")", a1 / a2);
}
}
}
}
}
};
solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 4416kb
input:
3 1.000000 1.000000 2.000000 4.000000 3.000000 9.000000
output:
(x*x)
result:
ok great!!
Test #2:
score: 0
Accepted
time: 0ms
memory: 4516kb
input:
3 0.618000 1.517072 0.314000 3.132637 1.414000 0.494016
output:
(sin(x)/(x*x))
result:
ok great!!
Test #3:
score: 0
Accepted
time: 0ms
memory: 4340kb
input:
5 77.685777 233.057331 -66.445083 -199.335249 79.966717 239.900151 84.982130 254.946390 -31.528900 -94.586700
output:
(x+(x+x))
result:
ok great!!
Test #4:
score: 0
Accepted
time: 1ms
memory: 4320kb
input:
5 25.032427 -0.100652 38.727324 1.658518 27.684334 -0.669555 64.282391 8.275303 52.640700 -0.962660
output:
(sin(x)/cos(x))
result:
ok great!!
Test #5:
score: 0
Accepted
time: 7ms
memory: 9744kb
input:
5 78.611917 -0.992212 -29.857271 1.011993 -75.513655 1.006611 68.512394 1.145128 7.961096 0.881661
output:
(cos(x)+(sin(x)*sin(x)))
result:
ok great!!
Test #6:
score: 0
Accepted
time: 1ms
memory: 4484kb
input:
5 -78.733375 0.503570 -20.187183 0.735779 -38.984992 0.730890 47.859232 0.622831 -19.657164 0.641512
output:
sin(sin(cos(cos(x))))
result:
ok great!!
Test #7:
score: 0
Accepted
time: 0ms
memory: 4316kb
input:
5 3.241091 -32.628130 -83.514144 86.463432 33.586619 40.691607 41.123543 -147.352644 26.896326 27.404018
output:
(x/sin(x))
result:
ok great!!
Test #8:
score: -100
Runtime Error
input:
20 -4.908422 -0.693287 3.569189 0.328182 1.946572 -0.667466 6.515336 -0.829948 -1.394076 0.752980 6.722989 0.831881 1.241795 0.835231 -2.443177 -0.143098 -4.180762 -0.803482 1.511247 0.589509 0.627755 0.554244 -1.865604 -0.470029 -4.756347 -0.656984 1.850611 -0.426016 6.580133 -0.474416 6.861815 -0....