QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#242679#6395. Equation Discoveringucup-team902WA 52ms108252kbC++171.5kb2023-11-07 16:19:302023-11-07 16:19:31

Judging History

你现在查看的是最新测评结果

  • [2023-11-07 16:19:31]
  • 评测
  • 测评结果:WA
  • 用时:52ms
  • 内存:108252kb
  • [2023-11-07 16:19:30]
  • 提交

answer

#include<bits/stdc++.h>

using namespace std;

#define db double
#define mp make_pair
#define ep emplace_back

valarray<db> x_arr;
valarray<db> y_arr;

vector<pair<string, valarray<db>>> expr[10];

inline bool check(valarray<db> &arr){
    for(int i = 0; i < x_arr.size(); ++i) if(abs(arr[i] - y_arr[i]) > max(abs(y_arr[i]), 1.0) * 1e-3) return 0;
    return 1;
}

int main(){
    int n; cin >> n;
    n = min(n, 10);
    x_arr.resize(n);
    y_arr.resize(n);
    for(int i = 0; i < n; ++i){
       cin >> x_arr[i] >> y_arr[i];
    }
    expr[0].ep(mp("x", x_arr));
    for(int i = 1; i <= 9; ++i){
        for(auto &[f, y]: expr[i - 1]){
            expr[i].ep(mp("sin(" + f + ")", sin(y)));
            expr[i].ep(mp("cos(" + f + ")", cos(y)));
        }
        for(int j = 0; j < i - 1; ++j){
            for(auto &[f1, y1] : expr[j]){
                for(auto &[f2, y2] : expr[i - j - 2]){
                    expr[i].ep(mp("(" + f1 + "+" + f2 + ")", y1 + y2));
                    expr[i].ep(mp("(" + f1 + "-" + f2 + ")", y1 - y2));
                    expr[i].ep(mp("(" + f1 + "*" + f2 + ")", y1 * y2));
                    if(abs(y2).min() >= 0.01){
                        expr[i].ep(mp("(" + f1 + "/" + f2 + ")", y1 / y2));
                    }
                }
            }
        }
        for(auto &[f, y]: expr[i]){
            if(check(y)){
                printf("%s\n", f.c_str());
                return 0;
            }
        }
    }
}

詳細信息

Test #1:

score: 100
Accepted
time: 1ms
memory: 4204kb

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: 1ms
memory: 4216kb

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: 1ms
memory: 4184kb

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: 4292kb

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: 0ms
memory: 6716kb

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: 0ms
memory: 4136kb

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: 4192kb

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: 0
Accepted
time: 52ms
memory: 108252kb

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....

output:

sin(sin((x/sin((x/(x*x))))))

result:

ok great!!

Test #9:

score: -100
Wrong Answer
time: 1ms
memory: 3824kb

input:

20
76.797930 0.000002
-76.263778 -0.000002
55.449039 0.000006
10.462093 0.000873
-78.051671 -0.000002
-52.781249 -0.000007
47.053973 0.000010
96.629212 0.000001
-40.697847 -0.000015
31.141805 0.000033
-87.087384 -0.000002
-54.709885 -0.000006
-65.741847 -0.000004
-87.430820 -0.000001
9.420126 0.0011...

output:

(x-x)

result:

wrong answer fail to discover