Moderator: Board moderators
removed after AC
temper_3243 wrote:you might try to mirror the plane first at one line, then at the second line. What does that statement mean . i don't understand the problem clearly. Can anyone help
cytmike wrote:In my opinion, the question is asking for the intersection point of the lines (if any), is that the whole thing this question is asking?
cytmike wrote:I keep getting WAs on this problem. Can anyone help?
-19 100 43
19 -53 55
0 0 0
0 0 0The fixed point is at 8.71 2.09.
1 2 3 2 4 7
0 1 0 1 2 0
0 0 0 0 0 0
No fixed point exists.
The fixed point is at 0.00 0.00.
#include<cstdio>
#include<sstream>
#include<cstdlib>
#include<cctype>
#include<cmath>
#include<algorithm>
#include<set>
#include<queue>
#include<stack>
#include<list>
#include<iostream>
#include<fstream>
#include<numeric>
#include<string>
#include<vector>
#include<cstring>
#include<map>
#include<iterator>
using namespace std;
int main()
{
float a1,a2,b1,b2,c1,c2;
while(scanf("%f %f %f %f %f %f",&a1,&b1,&c1,&a2,&b2,&c2)==6)
{
if(a1==0 && a2==0 && b1==0 && b2==0 && c1==0 && c2==0)
break;
float x1=0.0,y1=0.0;
float difa=0.0,difb=0.0,minx=0.0;
if(a1==a2 && b1==b2)
printf("No fixed point exists.\n");
else
{
if(a1>a2)
{
if(a1<0)
{
a1=a1*(-1.0);
b1=b1*(-1.0);
c1=c1*(-1.0);
}
if(a2<0)
{
a2=a2*(-1.0);
b2=b2*(-1.0);
c2=c2*(-1.0);
}
if(a2==0) difa=a1;
else
difa=a1/a2;
}
else
{
if(a1<0)
{
a1=a1*(-1.0);
b1=b1*(-1.0);
c1=c1*(-1.0);
}
if(a2<0)
{
a2=a2*(-1.0);
b2=b2*(-1.0);
c2=c2*(-1.0);
}
if(a1==0) difa=a2;
else
difa=a2/a1;
}
if(b1>b2)
{
if(b1<0)
{
b1=b1*(-1.0);
a1=a1*(-1.0);
c1=c1*(-1.0);
}
if(b2<0)
{
b2=b2*(-1.0);
a2=a2*(-1.0);
c2=c2*(-1.0);
}
if(b2==0) difb=b1;
else
difb=b1/b2;
}
else
{
if(b1<0)
{
b1=b1*(-1.0);
a1=a1*(-1.0);
c1=c1*(-1.0);
}
if(b2<0)
{
b2=b2*(-1.0);
a2=a2*(-1.0);
c2=c2*(-1.0);
}
if(b1==0) difb=b2;
else
difb=b2/b1;
}
minx=min(difa,difb);
if( (minx==difa && a1<a2 && difa>1) || (minx==difb && b1<b2 && difb>1) )
{
a1=a1*minx;
b1=b1*minx;
c1=c1*minx;
}
else if( (minx==difa && a2<a1 && difa>1) || (minx==difb && b2<b1 && difb>1) )
{
a2=a2*minx;
b2=b2*minx;
c2=c2*minx;
}
if(a1==a2 && b1==b2)
printf("No fixed point exists.\n");
else
{
if(b1==b2)
{
x1=(c1-c2)/(a1-a2);
y1=(c1-(a1*x1))/b1;
}
else if(a1==a2)
{
y1=(c1-c2)/(b1-b2);
x1=(c1-(b1*y1))/a1;
}
printf("The fixed point is at %.2f %.2f.\n",x1,y1);
}
}
}
return 0;
}
1 0 1
2 0 2
0 0 1
1 2 3
1 2 3
0 0 1
1 2 4
1 0 1
1 0 1
1 2 5
1 2 3
1 2 4
6 5 11
2 43 -23
0 0 0
0 0 0No fixed point exists.
No fixed point exists.
No fixed point exists.
The fixed point is at 1.00 1.50.
The fixed point is at 1.00 2.00.
No fixed point exists.
The fixed point is at 2.37 -0.65.#include<cstdio>
#include<sstream>
#include<cstdlib>
#include<cctype>
#include<cmath>
#include<algorithm>
#include<set>
#include<queue>
#include<stack>
#include<list>
#include<iostream>
#include<fstream>
#include<numeric>
#include<string>
#include<vector>
#include<cstring>
#include<map>
#include<iterator>
using namespace std;
int main()
{
double a1,a2,b1,b2,c1,c2;
while(scanf("%lf %lf %lf %lf %lf %lf",&a1,&b1,&c1,&a2,&b2,&c2)==6)
{
if(a1==0 && a2==0 && b1==0 && b2==0 && c1==0 && c2==0)
break;
double x1=0.0,y1=0.0;
double difa=0.0,difb=0.0,minx=0.0;
if( (a1==a2 && b1==b2) || (a1==0.0 && b1==0.0) || (a2==0.0 && b2==0.0) || (a1==c1 && a2==c2 && b1==b2))
printf("No fixed point exists.\n");
else
{
if(a1>a2)
{
if(a1<0)
{
a1=a1*(-1.0);
b1=b1*(-1.0);
c1=c1*(-1.0);
}
if(a2<0)
{
a2=a2*(-1.0);
b2=b2*(-1.0);
c2=c2*(-1.0);
}
if(a2==0) difa=a1;
else
difa=a1/a2;
}
else
{
if(a1<0)
{
a1=a1*(-1.0);
b1=b1*(-1.0);
c1=c1*(-1.0);
}
if(a2<0)
{
a2=a2*(-1.0);
b2=b2*(-1.0);
c2=c2*(-1.0);
}
if(a1==0) difa=a2;
else
difa=a2/a1;
}
if(b1>b2)
{
if(b1<0)
{
b1=b1*(-1.0);
a1=a1*(-1.0);
c1=c1*(-1.0);
}
if(b2<0)
{
b2=b2*(-1.0);
a2=a2*(-1.0);
c2=c2*(-1.0);
}
if(b2==0) difb=b1;
else
difb=b1/b2;
}
else
{
if(b1<0)
{
b1=b1*(-1.0);
a1=a1*(-1.0);
c1=c1*(-1.0);
}
if(b2<0)
{
b2=b2*(-1.0);
a2=a2*(-1.0);
c2=c2*(-1.0);
}
if(b1==0) difb=b2;
else
difb=b2/b1;
}
minx=min(difa,difb);
if( (minx==difa && a1<a2 && difa>1) || (minx==difb && b1<b2 && difb>1) )
{
a1=a1*minx;
b1=b1*minx;
c1=c1*minx;
}
else if( (minx==difa && a2<a1 && difa>1) || (minx==difb && b2<b1 && difb>1) )
{
a2=a2*minx;
b2=b2*minx;
c2=c2*minx;
}
if(a1==a2 && b1==b2)
printf("No fixed point exists.\n");
else
{
if(b1==b2)
{
x1=(c1-c2)/(a1-a2);
y1=(c1-(a1*x1))/b1;
}
else if(a1==a2)
{
y1=(c1-c2)/(b1-b2);
x1=(c1-(b1*y1))/a1;
}
printf("The fixed point is at %.2lf %.2lf.\n",x1,y1);
}
}
}
return 0;
}
24 -18 67
73 -81 -33
0 0 0
0 0 0The fixed point is at 9.56 9.02./* Finally I got it AC. Thanks a lot Boss. */
Stupid problem.
Users browsing this forum: No registered users and 1 guest