NC222528. 手动计算
描述
输入描述
输入第一行一个整数,表示数据组数。
接下来共T行,每行四个实数a,b,c,d,表示第一个椭圆的方程为,第二个椭圆的方程为, 数据保证a,b,c,d最多两位小数, 且。
输出描述
输出共T行,每行一个实数表示该组数据中这两个椭圆面积的并的大小,保留一位小数。
示例1
输入:
3 2 1 1 2 3 2 1 2 3 2 1 4
输出:
8.9 18.8 23.9
C++ 解法, 执行用时: 136ms, 内存消耗: 404K, 提交时间: 2021-06-03 09:38:18
#include<iostream> using namespace std; int main() { int n; double i,j,a,b,c,d,num; scanf("%d",&n); while(n--) { num=0; cin>>a>>b>>c>>d; for(i=-8;i<=8;i+=0.01) for(j=-8;j<=8;j+=0.01) if(i*i/a/a+j*j/b/b<=1||i*i/c/c+j*j/d/d<=1) num++; printf("%.1lf\n",num/10000); } return 0; }