在页面上给您三个点a,b,c。查找是否有可能将页面绕该点旋转一个角度,以使新位置“ a”与旧位置“ b”相同,新位置“ b”与旧位置相同。 ‘C’。如果存在这样的角度,则打印“是”,否则打印“否”。
例子:
Input : a1 = 0, a2 = 1, b1 = 1, b2 = 1,
c1 = 1, c2 = 0
Output : Yes
Explanation : Rotate the page by 90 degree.
Input : a1 = 1, a2 = 1, b1 = 0, b2 = 0,
c1 = 1000, c2 = 1000
Output : No
仅当点“ a”和“ b”之间的距离等于点“ b”和“ c”之间的距离时,才可以将页面旋转一定角度。但是,如果这些点在同一条线上,则在点“ b”处不会旋转。当’a’,’b’,’c’在同一行或dis(a,b)!= dis(b,c)时,问题没有解决方案
C++
// C++ program to find if its possible
// to rotate page or not
#include
using namespace std;
// function to find if it's possible
// to rotate page or not
void possibleOrNot(long long a1, long long a2,
long long b1, long long b2,
long long c1, long long c2){
// Calculating distance b/w points
long long dis1 = pow(b1 - a1, 2) +
pow(b2 - a2, 2);
long long dis2 = pow(c1 - b1, 2) +
pow(c2 - b2, 2);
// If distance is not equal
if(dis1 != dis2)
cout << "No";
// If the points are in same line
else if (b1 == ((a1 + c1) / 2.0) && b2 ==
((a2 + c2) / 2.0))
cout << "No";
else
cout << "Yes";
}
// Driver Code
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
// Points a, b, and c
long long a1 = 1, a2 = 0, b1 = 2,
b2 = 0, c1 = 3, c2 = 0;
possibleOrNot(a1, a2, b1, b2, c1, c2);
return 0;
}
Java
// java program to find if its possible
// to rotate page or not
import java.util.Arrays;
class GFG {
// function to find if it's possible
// to rotate page or not
static void possibleOrNot(long a1,long a2,
long b1,long b2,
long c1,long c2)
{
// Calculating distance b/w points
long dis1 = (long)Math.pow(b1 - a1, 2) +
(long) Math.pow(b2 - a2, 2);
long dis2 = (long)Math.pow(c1 - b1, 2) +
(long)Math.pow(c2 - b2, 2);
// If distance is not equal
if(dis1 != dis2)
System.out.print("No");
// If the points are in same line
else if (b1 == ((a1 + c1) / 2.0) &&
b2 == ((a2 + c2) / 2.0))
System.out.print("No");
else
System.out.print("Yes");
}
// Driver method
public static void main(String[] args)
{
// Points a, b, and c
long a1 = 1, a2 = 0, b1 = 2,
b2 = 0, c1 = 3, c2 = 0;
possibleOrNot(a1, a2, b1, b2, c1, c2);
}
}
// This code is contributed by Anant Agarwal.
Python3
# Python3 program to fill an
# array with frequencies.
# Function to find if it's possible
# to rotate page or not
def possibleOrNot(a1, a2, b1, b2, c1, c2):
# Calculating distance b/w points
dis1 = (pow(b1 - a1, 2) +
pow(b2 - a2, 2))
dis2 = (pow(c1 - b1, 2) +
pow(c2 - b2, 2))
# If distance is not equal
if(dis1 != dis2):
print("No")
# If the points are in same line
elif (b1 == ((a1 + c1) // 2.0) and
b2 == ((a2 + c2) // 2.0)):
print("No")
else:
print("Yes")
# Driver Code
# Points a, b, and c
a1, b1, c1 = 1, 2, 3
a2 = b2 = c2 = 0
possibleOrNot(a1, a2, b1, b2, c1, c2)
# This code is contributed by Anant Agarwal.
C#
// C# program to fill an array with frequencies.
using System;
class GFG
{
// function to find if it's possible
// to rotate page or not
static void possibleOrNot(long a1,long a2,
long b1,long b2,
long c1,long c2)
{
// Calculating distance b/w points
long dis1 = (long)Math.Pow(b1 - a1, 2) +
(long) Math.Pow(b2 - a2, 2);
long dis2 = (long)Math.Pow(c1 - b1, 2) +
(long)Math.Pow(c2 - b2, 2);
// If distance is not equal
if(dis1 != dis2)
Console.Write("No");
// If the points are in same line
else if (b1 == ((a1 + c1) / 2.0) && b2 ==
((a2 + c2) / 2.0))
Console.Write("No");
else
Console.Write("Yes");
}
// Driver method
public static void Main()
{
// Points a, b, and c
long a1 = 1, a2 = 0, b1 = 2,
b2 = 0, c1 = 3, c2 = 0;
possibleOrNot(a1, a2, b1, b2, c1, c2);
}
}
// This code is contributed by Anant Agarwal.
PHP
输出:
No