`
Simone_chou
  • 浏览: 192754 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

Triangle(暴搜)

    博客分类:
  • CF
 
阅读更多
A. Triangle
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

There is a right triangle with legs of length a and b. Your task is to determine whether it is possible to locate the triangle on the plane in such a way that none of its sides is parallel to the coordinate axes. All the vertices must have integer coordinates. If there exists such a location, you have to output the appropriate coordinates of vertices.

Input

The first line contains two integers a, b (1 ≤ a, b ≤ 1000), separated by a single space.

Output

In the first line print either "YES" or "NO" (without the quotes) depending on whether the required location exists. If it does, print in the next three lines three pairs of integers — the coordinates of the triangle vertices, one pair per line. The coordinates must be integers, not exceeding 109 in their absolute value.

Sample test(s)
input
1 1
output
NO
input
5 5
output
YES
2 1
5 5
-2 4
input
5 10
output
YES
-10 4
-2 -2
1 2

  

      题意:

      给出 A(1 ~ 1000),B (1 ~ 1000),代表直接三角形的两条边。问能否构成一个直角三角形,这个三角形的任意一条边都不与坐标系平行。能的话则输出这个三个点的坐标。

 

      思路:

      暴搜。设一个不动顶点(0,0),再寻找另外两个坐标即可,另外两个坐标到(0,0)这个点的距离刚好是边长 a,b,可以用 sqrt(x * x + y * y)求得,所以这样子就可以求出另外两点。但是求出来之后还要判断

这两个点构成的两条边是否为直角,并且斜边是否与 X 轴平行。

 

      AC:

#include <cstdio>
#include <algorithm>
using namespace std;

bool test (int a,int b,int r) {
        if(a * a + b * b == r * r) return true;
        return false;
}

int main() {
        int x1, y1, x2, y2, temp = 0;
        int a, b;

        scanf("%d%d",&a,&b);

        for (x1 = 1; x1 <= a; ++x1) {
            for (y1 = 1; y1 <= a; ++y1) {

                    if(test(x1,y1,a)) {
                            int x11 = -x1;

                            for (x2 = 1; x2 <= b; ++x2) {
                                    for (y2 = 1; y2 <= b; ++y2) {
                                            if(test(x2,y2,b) &&
                                               x11 * x2 + y1 * y2 == 0 &&
                                               y1 != y2) {
                                                    printf("YES\n");
                                                    printf("%d %d\n",x11, y1);
                                                    printf("%d %d\n",x2, y2);
                                                    printf("0 0\n");
                                                    temp = 1;
                                                    break;
                                            }
                                    }
                                    if(temp) break;
                            }
                    }
                    if(temp) break;
            }
            if(temp) break;
        }

        if(!temp) printf("NO\n");
        return 0;
}

 

 

 

分享到:
评论

相关推荐

    triangle_matlab重载函数_triangle函数_三角形周长、面积计算_

    本案例中,我们关注的是一个名为`triangle`的重载函数,该函数用于计算三角形的周长和面积。以下是关于这个主题的详细讲解。 首先,我们需要理解函数重载的概念。在MATLAB中,函数重载通过提供多个具有相同名称但...

    设计一个扩展自抽象类GeometricObject 的新的Triangle 类

    (三角形类)设计一个扩展自抽象类GeometricObject 的新的Triangle 类。绘制Triangle 类和GeometricObject 类的UML图并实现Triangle 类。 编写一个测试程序,提示用户输入三角形的三条边、一种颜色以及一个表明该...

    The triangle

    The Triangle Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 26414 Accepted: 15435 Description 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (Figure 1) Figure 1 shows a number triangle. Write a program...

    Chapter11_Triangle.java

    Triangle extends GeometricObject 设计一个名为Triangle的类来继承GeometricObject类。该类包括: 三个名为side1,side2,side3的double类型数据域来表示这个三角形的三条边,它们的默认值是1.0。 一个无参构造...

    设计一个Triangle类

    设计一个Triangle类,通过运算符重载来实现两个三角形的面积相加。 operator + (const Triangle& t1,const Triangle& t2); 如对你有用的话,希望你来下载啊。

    The Triangle

    The number of rows in the triangle is &gt; 1 but &lt;= 100. The numbers in the triangle, all integers, are between 0 and 99. 输出 Your program is to write to standard output. The highest sum is written as ...

    triangle编译的exe_dll_lib文件.zip

    三角剖分库Triangle在windows下编译的.exe .dll .lib 主要是我的原创博文的最终成果:https://blog.csdn.net/csubai07/article/details/102868479

    triangle-响应式bootstrap模板

    "Triangle-响应式Bootstrap模板"是一款专为适应不同设备屏幕设计的网页模板,它充分利用了Bootstrap框架的强大功能,确保在个人电脑(PC)和移动设备(mobile)上都能提供一致且优秀的用户体验。Bootstrap是一个广泛...

    triangle.html

    triangle.html

    Triangle_GAN讨论总结1

    《Triangle GAN 讨论概要》 Triangle GAN,作为一种独特的生成对抗网络(GAN)架构,其核心在于引入了两个判别器D1和D2,形成一个三角形结构,从而能处理更为复杂的样本对关系。这个模型的提出旨在解决图像分类、...

    triangle verdict

    intput a b c three sides,so that work out them could be make a triangle or not,if could be a triangle,the little could get the basic informations about the triangle.The little process is based on MFC.

    symmetric cubature rules on the triangle

    Papanicolopulos Analytical computation of moderate-degree fully-symmetric cubature rules on the triangle

    new_triangle.rar_triangle_verilog triangle_verilog 三角波_verilog三角

    这个“new_triangle.rar”压缩包包含了名为“triangle_verilog”的项目,旨在生成一个三角波信号,这是一种常见的模拟信号,但在数字系统中也有应用,例如在信号处理、测试与测量以及通信系统中。 标题“triangle_...

    raytracegroundup_v1.8_TriangleMesh_20170306

    《从零开始学习光线追踪:基于Triangle Mesh的实现》 光线追踪是一种计算机图形学技术,用于模拟光在虚拟环境中的传播路径,以生成极其逼真的图像。本项目"raytracegroundup_v1.8_TriangleMesh_20170306"深入浅出地...

    triangle.java

    软件测试三角形问题的经典实现 之JAVA---- triangle代码实现。

    triangle多文件

    本文将深入探讨一个名为"triangle多文件"的项目,它涉及到利用多文件结构和静态库来计算三角形的面积。这个项目旨在展示如何在C++中有效地组织大型代码库,以及如何通过静态库重用代码。 首先,让我们理解“多文件...

    1085(Triangle-War)(DP).zip_triangle

    标题 "1085(Triangle-War)(DP).zip_triangle" 暗示这是一个关于解决编程竞赛问题1085的资源包,该问题被称为“Triangle War”或“三角战争”,并采用动态规划(DP)作为主要算法。描述中提到的“记忆化DP+状态压缩”...

    Triangle-War.rar_triangle

    标题中的“Triangle-War.rar_triangle”暗示我们关注的是与三角形相关的编程问题,可能是涉及到图形学、几何计算或算法优化的领域。描述中提到的“poj1085”是一个编程竞赛题目,通常这类题目会挑战参赛者的算法设计...

    gl_triangle.zip_triangle

    在这个“gl_triangle.zip_triangle”压缩包中,我们聚焦于一个基础且重要的概念:绘制三角形。三角形在3D图形中是基本构建块,用于构建更复杂的形状和场景。 `Main.cpp`通常是C++程序的入口点,这里很可能是实现...

    【OpenGL】十四、OpenGL 绘制三角形 ( 绘制 GL_TRIANGLE_STRIP 三角形 )

    【OpenGL】十四、OpenGL 绘制三角形 ( 绘制 GL_TRIANGLE_STRIP 三角形 | GL_TRIANGLE_STRIP 三角形绘制分析 ) https://hanshuliang.blog.csdn.net/article/details/112799758 博客源码快照

Global site tag (gtag.js) - Google Analytics