求问刚才abc的B题
  • 板块学术版
  • 楼主Perfect_Youth
  • 当前回复15
  • 已保存回复15
  • 发布时间2025/1/25 22:08
  • 上次更新2025/1/26 12:31:12
查看原帖
求问刚才abc的B题
725816
Perfect_Youth楼主2025/1/25 22:08

rt.

#include <bits/stdc++.h>
#define getchar()(p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 21, stdin), p1 == p2) ? EOF : *p1++)
char buf[1 << 21], *p1 = buf, *p2 = buf;

using namespace std;

inline
int read() {
	int x = 0, f = 1;
	char ch = getchar();
	while (ch < '0' || ch > '9') {
		if (ch == '-') f = -1;
		ch = getchar();
	}
	while (ch >= '0' && ch <= '9') {
		x = (x << 1) + (x << 3) + (ch ^ '0');
		ch = getchar();
	}
	return x * f;
}

const int N = 107;

int n;

double a[N];

int main() {
	n = read();
	for (int i = 1; i <= n; i++) a[i] = read();
	for (int i = 3; i <= n; i++) {
		if (fabs(a[i] - a[i - 1] * (a[2] / a[1])) > 0.00000001) {
			puts("No");
			return 0;
		}
	}
	puts("Yes");
	return 0;
}

A了,谁能解释为什么不丢精度。

2025/1/25 22:08
加载中...