QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#89664 | #5253. Denormalization | CCSU_Wine | WA | 0ms | 3540kb | C++20 | 1.0kb | 2023-03-20 21:20:24 | 2023-03-20 21:20:25 |
Judging History
answer
#include <math.h>
#include <iostream>
using namespace std;
const double eps = 1e-8;
int n, ans[15];
double a[15];
int get(double x, double p1, double p2){
return sqrt(x * p2 / p1);
}
void get_org(){
int x = ans[1] * ans[1];
for(int i = 2; i <= n; i ++){
ans[i] = get(x, a[1], a[i]);
}
}
bool sgn(double x){
if(fabs(x) <= eps) return true;
return false;
}
bool check(){
double sum = 0.0;
for(int i = 1; i <= n; i ++){
sum += (double)(ans[i] * ans[i]);
}
for(int i = 1; i <= n; i ++){
if(!sgn(a[i] - (double)(ans[i] * ans[i]) / sum)) return false;
}
}
int main(){
cin >> n;
for(int i = 1; i <= n; i ++){
cin >> a[i];
a[i] *= a[i]; // a[i]^2 代表转化后的数字占总和的比例
}
for(int i = 1; i <= 10000; i ++){ // 枚举a1
ans[1] = i;
get_org();
if(check()) break;
}
for(int i = 1; i <= n; i ++){
cout << ans[i] << "\n";
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3540kb
input:
2 0.909840249060 0.414958698174
output:
10000 4560
result:
wrong answer the greatest common divisor is 80, but expected 1.