- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
https://www.codechef.com/problems/RIGHTRI
毕达哥拉斯定理问题非常简单,但是当我使用斜率法做同样的事情时,我无法找出可能有什么问题。以下是我的代码:
#include<stdio.h>
int main()
{
int N,count=0;
double m1,m2,m3,x1,x2,x3,y1,y2,y3;
scanf("%d",&N);
while(N--){
scanf("%lf %lf %lf %lf %lf %lf",&x1,&y1,&x2,&y2,&x3,&y3);
if(x1==x2||x2==x3||x3==x1){
if(y1==y2||y2==y3||y3==y1)
count++;
}
else{
//printf("hello");
m1=((y1-y2)*(y3-y2))/((x1-x2)*(x3-x2));
m2=((y1-y2)*(y1-y3))/((x1-x2)*(x1-x3));
m3=((y3-y2)*(y1-y3))/((x3-x2)*(x1-x3));
// printf("%lf %lf %lf\n",m1,m2,m3);
if((m1==(-1.000000))||(m2==(-1.000000))||(m3==(-1.000000)))
count++;
}
}
printf("%d\n",count);
return 0;
}
新代码
#include<stdio.h>
int main()
{
int N,count=0;
int m1N,m1D,m2N,m2D,m3N,m3D,x1,x2,x3,y1,y2,y3;
scanf("%d",&N);
while(N--){
scanf("%d %d %d %d %d %d",&x1,&y1,&x2,&y2,&x3,&y3);
if(x1==x2||x2==x3||x3==x1){
if(y1==y2||y2==y3||y3==y1)
count++;
}
else{
m1N=((y1-y2)*(y3-y2));
m1D=((x1-x2)*(x3-x2));
m2N=((y1-y2)*(y1-y3));
m2D=((x1-x2)*(x1-x3));
m3N=((y3-y2)*(y1-y3));
m3D=((x3-x2)*(x1-x3));
if((m1N==-m1D)||(m2N==-m2D)||(m3N==-m3D))
count++;
}
}
printf("%d\n",count);
return 0;
}
最佳答案
您的问题是您在 while
循环开始处设置的 if
条件,用于检查是否有任何坐标具有相同的值。
如果任何 2 个点共享公共(public) x 坐标,则不一定也必须共享相同的 y 坐标以形成直角三角形,您似乎在代码中假设了这一点。示例采用这些坐标::
(0, 0), (0, 5), (2.5, 2.5)
(我知道问题陈述只说了整数值,但这是我想到的最简单的情况,而且我相信您可以仅使用整数值来构建这样的测试用例。)
如果我们遵循,则您的代码 x1 = x2
但是,没有相同的 y 值并且您的代码不会将其视为直角三角形,尽管它是直角三角形。
因此,最简单的解决方案是删除第一个 if
条件,让其余代码运行,您将获得 AC。
编辑::
整数坐标示例::
(0, 0), (0, 6), (3, 3)
关于Codechef 和直角三角形的斜率法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34171089/
试图找出在 Python 中返回直线斜率的函数。问题方向是用给定的斜率坐标求出 m 的斜率。通读其他几个堆栈溢出帖子,但似乎没有一个是可行的解决方案。以下是我尝试过的各种变体: def slope(x
我的代码中的所有内容终于看起来都是正确的。我只是遇到了一些棘手的问题。 如何编写代码,以便当我输入两个点且斜率为 -无穷大 时,它会被识别并且输出显示 Vertical 而不是 Negative坡度。
您可以通过此链接访问以下代码:jsfiddle.net/2NPxV 我的 CSS 代码: .custom_content { display: block; width:200px; height:
我需要计算一条线与水平线之间的角度。我的高中数学似乎不及格。 import matplotlib.pyplot as plt import numpy as np x = [8450.0, 8061.
我有一个 Python 程序,可以显示温度下降与时间的关系图。沿着下降过程,温度在一段时间内保持恒定,几乎为 0 斜率,然后继续下降。当温度恒定时,曲线中的这个区域我希望程序能够自动检测并显示 y 值
如何使用 R 将 RMSE、斜率、截距和 r^2 添加到绘图中?我附加了一个包含示例数据的脚本,它的格式与我的真实数据集类似 - 不幸的是,我处于停滞状态。有没有比从方程创建对象并将其插入到 text
我是一名优秀的程序员,十分优秀!