CF39D Cubical PlanetC++

银河系中没有你找不到的东西!有一颗形状为立方体的的行星正在绕着一颗形状为二十面体的恒星运转。现在我们让这颗行星的两个在同一条体对角线上的顶点置于(0,0,0)和(1,1,1)上。有两只苍蝇住在行星上。这俩家伙分别坐在这颗行星的两个不同的顶点上。
问题是:你需要确定,这俩可怜虫会不会见面。前提是:如果他俩所在的顶点位于这颗行星的同一个面上(六个面),他们就算见到彼此了。
输入格式:
第一行包括三个用空格分开的整数,表示第一只苍蝇的坐标。
第二行也包括三个用空格分开的整数,表示第二只苍蝇所在的坐标。
输出格式:
如果这两只可怜虫能见到彼此,则输出:“YES”。
否则,输出“NO”。
(不带引号)
输入输出格式
输入格式:
The first line contains three space-separated integers ( 0 0 or 1 1 ) — the coordinates of the first fly, the second line analogously contains the coordinates of the second fly.

输出格式:
Output "YES" (without quotes) if the flies see each other. Otherwise, output "NO".

输入输出样例
输入样例#1: 
0 0 0
0 1 0
输出样例#1: 
YES
输入样例#2: 
1 1 0
0 1 0
输出样例#2: 
YES
输入样例#3: 
0 0 0
1 1 1
输出样例#3: 
NO

好的我们来看看题目。大概意思就是,告诉你两只苍蝇分别位于这个立方体的哪两个定点,输出它们是否在同一个面。

看起来似乎有一点难?其实我们不难发现,给出的两个顶点的x,y,z坐标中哪怕有一组(相互对应)是相同的,我们就会判定它们在同一面上,也就是要输出YES;

那么思路就很清晰了:

读入-判断是否有任意一组坐标点相等-有就输出YES-没有就输出NO;

接下来上极简代码(10行)

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int x1,y1,z1,x2,y2,z2;
    cin>>x1>>y1>>z1>>x2>>y2>>z2;
    if(x1==x2||y1==y2||z1==z2)
        cout<<"YES"<<endl;
    else cout<<"NO"<<endl;
}

ov.

个人博客地址: www.moyujiang.com 或 moyujiang.top
原文地址:https://www.cnblogs.com/moyujiang/p/11167792.html