博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小X与正方形
阅读量:6172 次
发布时间:2019-06-21

本文共 1523 字,大约阅读时间需要 5 分钟。

题目:

时间限制 : 1 Sec
内存限制 : 128 Mb
提交 : 109
解决 : 44

题目描述

小X的老师很喜欢围棋。众所周知,围棋的棋盘有19行19列。为方便起见,我们把这些行列按顺序编号为1~19,并用(x, y)表示第x列第y行的位置。例如下图中,A用(16,4)表示,B用(14, 3)表示。

现在老师让小X在棋盘上放4枚棋子,要求这4枚棋子组成一个正方形的四个顶点。但是小X喜欢三角形,不喜欢正方形,于是只放了3枚就跑出去玩去了。那么这最后的棋子就交给你来放了,请求出这枚棋子应该放在哪里?

输入

输入数据仅有一行包含6个用空格隔开的正整数x1, y1, x2, y2, x3, y3, 表示三枚棋子的位置为(x1, y1), (x2, y2), (x3, y3)

输出

输出一行包含两个正整数x和 y,两数之间用一个空格隔开;表示若将最后一枚棋子放在位置(x, y),它与之前的三枚棋子能组成一个正方形的四个顶点。数据保证方案唯一。

 

样例输入

样例1:
 
4 4 4 16 16 16
样例2: 
2 1 4 2 3 4

样例输出

样例1: 
16 4
样例2: 
1 3
 
思路:
1、搜索(怎么搜我不管)。
2、应用勾股定理判断此数是否符合。
 
标程:
#include<bits/stdc++.h>
using namespace std;
int t,a[10],b[10],pd[10];
int goug(int r,int sp)
{
 int cc;
 cc=sqrt(r*r+sp*sp);
 return cc;
}
int main()
{
 cin>>a[1]>>b[1]>>a[2]>>b[2]>>a[3]>>b[3];
    pd[1]=goug(abs(a[1]-a[2]),abs(b[1]-b[2]));
    pd[2]=goug(abs(a[1]-a[3]),abs(b[1]-b[3]));
    pd[3]=goug(abs(a[3]-a[2]),abs(b[3]-b[2]));
    if (pd[1]==pd[3])
    {
     t=pd[3];
     pd[3]=pd[2];
     pd[2]=t;
     t=a[3];
     a[3]=a[2];
     a[2]=t;
        t=b[3];
     b[3]=b[2];
     b[2]=t;
    }
    if (pd[2]==pd[3])
    {
     t=pd[3];
     pd[3]=pd[1];
     pd[1]=t;
     t=a[3];
     a[3]=a[1];
     a[1]=t;
        t=b[3];
     b[3]=b[1];
     b[1]=t;
    }
    for (int i=1;i<=19;i++)
    {
     for (int j=1;j<=19;j++)
     {
      if ((i!=a[3])||(j!=b[3]))
      {
       pd[4]=goug(abs(a[1]-i),abs(b[1]-j));
       pd[5]=goug(abs(a[2]-i),abs(b[2]-j));
       pd[6]=goug(abs(a[3]-i),abs(b[3]-j));
       if (pd[4]==pd[6])
       {
        t=pd[6];
        pd[6]=pd[5];
        pd[5]=t;
     }
            if (pd[5]==pd[6])
            {
               t=pd[6];
               pd[6]=pd[4];
               pd[4]=t;
            }
      }
      for (int k=1;k<=3;k++)
      {
       if (pd[k]!=pd[k+3])break;
       if (k==3)
       {
        cout<<i<<" "<<j<<endl;
        return 0;
       }
      }
     }
    }
   
}

转载于:https://www.cnblogs.com/leonqqs/p/7068480.html

你可能感兴趣的文章
《Metasploit渗透测试手册》—第1章1.10节分析数据库中存储的渗透测试结果
查看>>
《Adobe Acrobat XI经典教程》—第2课减小文件大小
查看>>
《数据库技术原理与应用教程》一第2章 数据库的基础知识
查看>>
QuaggaJS —— 纯 JavaScript 开发的条形码扫描
查看>>
在图片中加入噪点就能骗过 Google 最顶尖的图像识别 AI
查看>>
免费下载!业界首部安卓热修复宝典出炉,阿里技术大牛联袂推荐
查看>>
OpenID 关联认证提供 CoreOS dex
查看>>
《Node.js区块链开发》一2.2 信用,决定着利益转移的方向
查看>>
Speedy:来自京东的 Docker 镜像存储系统
查看>>
《动手玩转Arduino》——11.2 众多的Arduino板
查看>>
IBM Watson 进入癌症基因组分析市场
查看>>
在 Linux 中查看你的时区
查看>>
Linux集群和自动化维1.6 小结
查看>>
《OpenACC并行编程实战》—— 第1章 并行编程概览 1.1 加速器产品
查看>>
C语言OJ项目参考(2417) 字符串长度
查看>>
ajax的手写、封装和自定义设置
查看>>
class path resource [META-INF/xfire/services.xml] cannot be opened because it does not exist
查看>>
android自定义属性
查看>>
ERROR 1114 (HY000): The table 'table1' is full
查看>>
知乎网友神回复:哪怕是平时聊天吹牛的也没见程序员晒,这是为什么呢?
查看>>