Try all 3 pairs of transceivers to see which ones can communicate directly. If at least 2 pairs can communicate directly then at least one transceiver can communicate directly with the other two so the answer is ‘yes’. Otherwise, if at most 1 pair can communicate directly then the answer is ‘no’. To determine if two transceivers located at (x1,y1) and (x2,y2) we simply check that (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) < = r * r. This is the same as checking that the distance between them is r, but we can avoid floating point computations this way. Note that the input numbers are small enough to ensure that the above expression only involves signed 32 bit integers.
COMM3 - Editorial - #2 by deeksha_garg - editorial - CodeChef Discuss@deeksha_garg.
You have not used sqrt() while calculating a,b and c which means they are already having unit sq. metre.
In following loop also you are squaring it so its unit becomes metre ^4 as compared to r whose power is metre^2.
Also, the logic is incorrect see setter’s solution . He has explained it nicely , you should be able to understand that!
/* Name of the class has to be “Main” only if the class is public. */
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
Scanner sc = new Scanner(System.in);
int t=sc.nextInt();
int r,x1,x2,x3,y1,y2,y3,count;
int d1,d2,d3;
for(int i=0;i<t;i++)
{
count=0;
r=sc.nextInt();
x1=sc.nextInt();
y1=sc.nextInt();
x2=sc.nextInt();
y2=sc.nextInt();
x3=sc.nextInt();
y3=sc.nextInt();
Here is our complete solution to the problem in C++
#include<iostream
using namespace std;
int main()
{
int t;
cin>>t;
for(int i=0;i<t;i++)
{
int r,x1,y1,x2,y2,x3,y3;
cin>>r;
cin>>x1>>y1;
cin>>x2>>y2;
cin>>x3>>y3;
int d1=(x1-x2)(x1-x2)+(y1-y2)(y1-y2);
int d2=(x1-x3)(x1-x3)+(y1-y3)(y1-y3);
int d3=(x2-x3)(x2-x3)+(y2-y3)(y2-y3);
if(d1<=(rr) && d2<=(rr) || d1<=(rr) && d3<=(rr) || d3<=(rr) && d2<=(rr))
{
cout<<“yes”<<endl;
}
else{
cout<<“no”<<endl;
}
}
return 0;
}
Notebefore-
1)Using iostream as an header will consume less time than bits/stdc++.h.
2)Don’t input the numbers using cin in the same line since it gives compilation error due to the nature of input to the problem.
3)The mathematical formula for calculating the distance between the two points in coordinate geometry is—
D=√ (x2-x1)^2+(y2-y1)^2
Guys My code is running correct on the compiler but when I submit , it shows error.
Please can someone tell me what is wrong . Here is the link ----------