《Cracking the Coding Interview》-제7장: 수학과 확률론-제목3
5171 단어 interview
제목: 피리칼의 2차원 평면에 두 직선을 주어 교차하는지 아닌지를 판단한다.
해법: 교차, 중합, 평행.
코드:
1 // 7.3 Given two lines on the Cartesian, determine if they would intersect.
2 #include <cstdio>
3 using namespace std;
4
5 int main()
6 {
7 // a * x + b * y + c = 0;
8 // d * x + e * y + f = 0;
9 int a, b, c, d, e, f;
10 bool suc;
11
12 while (scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f) == 6) {
13 if ((a == 0 && b == 0) || (d == 0 && e == 0)) {
14 // invalid line
15 suc = false;
16 } else if (a * e == b * d) {
17 if (a * f == c *d) {
18 // coincident
19 suc = true;
20 } else {
21 // parallel
22 suc = false;
23 }
24 } else {
25 // intersect
26 suc = true;
27 }
28 if (suc) {
29 printf("Yes
");
30 } else {
31 printf("No
");
32 }
33 }
34
35 return 0;
36 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
알고리즘 1000 개 노크 #2. Longest common substringsProblem Solution DP (다이나믹 프로그래밍) 중에서 고전적인 문제입니다. 두 문자열을 S1과 S2, 각각의 길이를 M, N으로 설정합니다. 총당으로 S1에서 모든 부분 문자열을 추출하고, 그것들이 S2...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.