수학 22번 1초짜리 풀이
게시글 주소: https://orbi.kr/00065243227
/**
* author: pizzaroot
* created: 2023-11-19 02:14:54
**/
#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
#define linf 0x3f3f3f3f3f3f3f3f
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define pb push_back
using namespace std;
typedef long long ll;
typedef vector<ll> vi;
typedef pair<ll, ll> pi;
double f(double x, double b, double c, double d) {
return x * x * x + b * x * x + c * x + d;
}
double fprime(double x, double b, double c) {
return 3 * x * x + 2 * b * x + c;
}
int main() {
ios::sync_with_stdio(0); cin.tie(0);
vector<pair<double, double>> cands;
for (double b = -10; b < 10; b += 0.02) {
for (double d = -10; d < 10; d += 0.02) {
double x = -1.0 / 4;
double c = -1.0 / 4 - 3 * x * x - 2 * b * x;
if (fprime(1.0 / 4, b, c) > 0.03) continue;
bool good = true;
for (int k = -50; k < 50; k++) {
if (f(k - 1, b, c, d) * f(k + 1, b, c, d) < -0.03) good = false;
}
if (good) {
cands.push_back({b, d});
}
}
}
for (auto &cd: cands) {
for (double b = cd.first - 2; b < cd.first + 2; b += 0.001) {
for (double d = cd.second - 2; d < cd.second + 2; d += 0.001) {
double x = -1.0 / 4;
double c = -1.0 / 4 - 3 * x * x - 2 * b * x;
if (fprime(1.0 / 4, b, c) > 0.0001) continue;
bool good = true;
for (int k = -5; k < 5; k++) {
if (f(k - 1, b, c, d) * f(k + 1, b, c, d) < -0.001) good = false;
}
if (good) {
cout << f(8, b, c, d) << '\n';
}
}
}
}
return 0;
}
1초만에 실행됨 ㄷㄷ
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
아니 ㅆㅂ 4
서강대가 4칸 뜨는데 이거 맞나?
-
나중에 다시생각해보니까 내가 평소에 공부하던 꼬라지를 생각하면 이것도 충분히...
-
오늘 학교에 붙어있는 거 보고 나서야 실감했읍니다 여기는 일반 전형은 이미 했고...
-
영상의학과 판독실 의사들이 예민한 이유가 머임? 바이탈잡는 사람들보다 예민하다고...
-
통사 인강 추천 3
예비고1이라 겨울방학 때 통사 한번 돌리고 싶은데 인강 뭐가 좋음? 배인영이나...
-
2025년 한석원 알파테크닉 미적 개별 구매 어캐합니까?
-
설마 9칸이 5칸이하까지도 떨어져요..?
-
평균을 봐도 되지만 전국적으로 학교당 평균적인 표준편차는 20정도 20 이상이다?...
-
일산동구 이투스247 이랑 일산 백마나 주엽 잇올 중에 고민인데 여기세개다녀보셧던분...
-
현역이고 올해 최저 못맞춰서 좀 낮은 의대 갈거같아여…. 전 반수할 생각 없는데...
-
댓글로 특징 적어주시면 감사하겠습니다
^오^