Three Way CommunicationsProblem code: COMM3 |
All submissions for this problem are available.
The Chef likes to stay in touch with his staff. So, the Chef, the head server, and the sous-chef all carry two-way transceivers so they can stay in constant contact. Of course, these transceivers have a limited range so if two are too far apart, they cannot communicate directly.
The Chef invested in top-of-the-line transceivers which have a few advanced features. One is that even if two people cannot talk directly because they are out of range, if there is another transceiver that is close enough to both, then the two transceivers can still communicate with each other using the third transceiver as an intermediate device.
There has been a minor emergency in the Chef's restaurant and he needs to communicate with both the head server and the sous-chef right away. Help the Chef determine if it is possible for all three people to communicate with each other, even if two must communicate through the third because they are too far apart.
Input
The first line contains a single positive integer T ? 100 indicating the number of test cases to follow. The first line of each test case contains a positive integer R ? 1,000 indicating that two transceivers can communicate directly without an intermediate transceiver if they are at most R meters away from each other. The remaining three lines of the test case describe the current locations of the Chef, the head server, and the sous-chef, respectively. Each such line contains two integers X,Y (at most 10,000 in absolute value) indicating that the respective person is located at position X,Y.
Output
For each test case you are to output a single line containing a single string. If it is possible for all three to communicate then you should output "yes". Otherwise, you should output "no".
To be clear, we say that two transceivers are close enough to communicate directly if the length of the straight line connecting their X,Y coordinates is at most R.
Example
Input: 3 1 0 1 0 0 1 0 2 0 1 0 0 1 0 2 0 0 0 2 2 1 Output: yes yes no
| Author: | friggstad |
| Date Added: | 2-02-2011 |
| Time Limit: | 3 sec |
| Source Limit: | 50000 Bytes |
| Languages: | ADA, ASM, BASH, BF, C, C99 strict, CAML, CLOJ, CLPS, CPP 4.0.0-8, CPP 4.3.2, CS2, D, ERL, F#, FORT, GO, HASK, ICK, ICON, JAR, JAVA, JS, LISP clisp, LISP sbcl, LUA, NEM, NICE, PAS fpc, PAS gpc, PERL, PERL6, PHP, PIKE, PRLG, PYTH, PYTH 3.1.2, RUBY, SCALA, SCM guile, SCM qobi, ST, TCL, TEXT, WSPC |
Comments

Fetching successful submissions

does all transeivers have the
does all transeivers have the 'advanced features' ? if yes..... please check the 3rd test case.
The problem statement says
The problem statement says they all have the feature. The last test case is ok.
is the distance between (1,0)
is the distance between (1,0) and (0,1) calculated as 2 or root 2??
The distance between (1,0)
The distance between (1,0) and (0,1) is root 2
Is Python support broken?
Is Python support broken? I've solved the given test cases on my computer, and it seems to work, but with CodeChef, it gives me a Runtime Error.
Just to clarify: It appears
Just to clarify: It appears that the problem was caused as I'm on Python2.6 and CodeChef uses 2.5, which doesn't have itertools.combinations
Just to clarify: It appears
Just to clarify: It appears that the problem was caused as I'm on Python2.6 and CodeChef uses 2.5, which doesn't have itertools.combinations
#include<iostream>#include<ma
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
float t,r,a,b,c,d,x,y,d1,d2,d3;
cin>>t;
while(t--)
{ float co=0;
cin>>r>>x>>y>>a>>b>>c>>d;
d1=sqrt(pow((x*x-a*a),2)+pow((y*y-b*b),2));
d2=sqrt(pow((c*c-a*a),2)+pow((d*d-b*b),2));
d3=sqrt(pow((x*x-c*c),2)+pow((y*y-d*d),2));
if(d1<=r)
co++;
if(d2<=r)
co++;
if(d3<=r)
co++;
if(co>=2)
cout<<"yesn";
else
cout<<"non";
}
}