NC248434. 悸动的距离
描述
《悸动的距离》
也许 仅仅毫厘之间便是冰与火的交替我冷颤在寒冰之中却不知炎热离我亦如此之近
欢笑中隐藏的泪水折射出了无法忘却的娇颜命中本该有交集却在阴差阳错间平行远去当心灵来到了悸动的距离瞳孔之间 也许倒映着另一个你
输入描述
四个整数,用空格隔开。保证线段AB不在坐标轴上。保证A点和B点不重合。
输出描述
线段AB和坐标轴的交点数量
示例1
输入:
1 1 -1 -1
输出:
1
说明:
线段AB和两个坐标轴的交点重合了,因此只有一个交点。示例2
输入:
3 0 0 3
输出:
2
说明:
端点在坐标轴上也视为有交点示例3
输入:
2 -1 2 3
输出:
1
示例4
输入:
-9 2 -2 9
输出:
0
C 解法, 执行用时: 2ms, 内存消耗: 356K, 提交时间: 2023-02-19 20:28:02
#include<stdio.h> int main() { int a,b,c,d,x=0; scanf("%d%d%d%d",&a,&b,&c,&d); if(a*c<=0) x++; if(b*d<=0) x++; if(x==2&&a*d==b*c) x--; printf("%d",x); return 0; }
C++(clang++ 11.0.1) 解法, 执行用时: 3ms, 内存消耗: 428K, 提交时间: 2023-02-20 21:31:36
#include <bits/stdc++.h> using namespace std; int main() { int a,b,c,d; cin>>a>>b>>c>>d; cout<<max(0,(a*c<=0)+(b*d<=0)-(a*d==b*c)); return 0; }
Python3 解法, 执行用时: 42ms, 内存消耗: 4560K, 提交时间: 2023-03-17 15:52:51
x1,y1,x2,y2=map(int,input().split(" ")) if(x1*x2>0 and y1*y2>0): print("0") elif(x1*x2>0 or y1*y2>0 or (y1*x2==y2*x1)): print("1") else: print("2")
pypy3 解法, 执行用时: 71ms, 内存消耗: 21220K, 提交时间: 2023-02-14 20:14:13
xa, ya, xb, yb = map(int, input().split()) res = (xa*xb <= 0) + (ya*yb <= 0) if res == 2 and ya*xb == yb*xa: res = 1 print(res)