fork download
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. #include <cstdio>
  6. #include <math.h>
  7.  
  8. #define pi 3.141592653589793
  9. using namespace std;
  10. /*已知两点(x1,y1)(x2,y2)求直线方程(ax+by+c=0) :
  11. 解得:a=y1-y2,b=x2-x1,c=x1*y2-x2*y1;*/
  12. //x=(c1-b1c1+b1c2)/(a1b1-a2b1-a1)
  13. //y=-[a1*(c1-c1b1+b1c2)/(a1b1-a2b1-a1)+c1]/b1
  14. int main(){
  15. int n,i=0;
  16. cin>>n;
  17. double x1,y1,x2,y2,x3,y3,x4,y4;
  18. cout<<"INTERSECTING LINES OUTPUT"<<endl;
  19. for (;i<n;i++)
  20. {
  21. cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4;
  22. double a1=y1-y2,b1=x2-x1,c1=x1*y2-x2*y1;
  23. double a2=y3-y4,b2=x4-x3,c2=x3*y4-x4*y3;
  24. // cout<<"First line:"<<a1<<"x"<<"+"<<b1<<"y+"<<c1<<"=0"<<endl;
  25. //cout<<"Second line:"<<a2<<"x"<<"+"<<b2<<"y+"<<c2<<"=0"<<endl;
  26. //cout<<endl;
  27. if ((a1/a2)==(b1/b2)||(a1==0&&a2==0)||(b1==0&&b2==0))
  28. {
  29. if ((a1/a2)==(c1/c2)&&(b1/b2)==(c1/c2))
  30. cout<<"LINE"<<endl;//重合
  31. else if (c1==0&&c2==0)
  32. cout<<"LINE"<<endl;//重合
  33. else
  34. cout<<"NONE"<<endl;//平行
  35. }
  36. else
  37. {
  38. double x=(b2*c1-b1*c2)/(b1*a2-b2*a1);
  39. double y=(a2*c1-a1*c2)/(a1*b2-a2*b1);
  40.  
  41. printf("POINT %.2lf %.2lf\n",x,y);
  42. }
  43. //cout<<endl;
  44. }
  45. cout<<"END OF OUTPUT"<<endl;
  46. return 0;
  47. }
  48.  
Success #stdin #stdout 0s 15240KB
stdin
100
608	301	32	288	761	722	865	-803
273	276	-161	442	85	-251	-301	-803
807	111	-214	-778	-691	-204	-149	849
339	-753	884	-146	613	595	-283	-182
639	-666	944	743	-831	270	741	-323
-601	315	329	450	-607	-729	-425	644
-1000	-174	-323	467	868	-537	716	-329
676	956	305	-453	105	684	-377	-822
600	-917	735	-817	369	326	-57	728
-846	-659	-307	883	-698	701	-111	832
514	999	-767	296	-593	850	-133	967
-66	381	43	-249	-144	486	-71	372
-964	488	837	-78	612	501	834	-708
-506	-768	838	260	-310	377	-70	580
530	-647	-876	205	-362	35	-719	424
625	-589	369	-76	816	-628	-823	254
737	-636	-957	263	-148	617	-712	-927
27	-189	-199	568	610	-359	-203	-21
-255	781	402	-343	-505	567	704	-227
-450	-602	702	-843	313	-537	415	-905
445	-153	415	-966	-804	385	462	-627
-361	-5	610	613	650	179	-386	565
-116	-255	-975	-279	-587	-276	-589	522
344	-619	547	-10	-949	416	-538	-633
458	356	-880	-378	508	195	404	269
819	-43	901	-930	349	-882	315	134
521	-459	931	-657	-556	-493	462	-790
-699	-407	211	-394	324	788	785	-606
-416	-212	1000	55	276	-708	-422	-284
-461	-937	366	389	563	-746	188	-582
87	-232	-598	29	971	-164	837	-724
-860	-515	-452	575	-690	354	-964	624
-492	-809	-532	906	-245	-782	947	633
-959	-984	151	578	304	447	-476	413
-845	-762	748	-516	-220	-663	-797	-237
-438	853	710	-792	-421	725	48	275
-50	605	-466	-260	-168	-539	240	-752
434	-874	-344	-86	-879	-679	-466	464
707	-864	-833	569	766	536	-969	-191
868	-168	448	689	776	873	-884	-572
118	-904	-228	138	925	550	-128	249
-557	-904	127	-767	-541	560	-617	989
58	-734	901	968	-108	-604	-268	283
502	-394	-505	-637	395	-520	-382	-545
-592	435	-106	-308	302	903	734	764
466	-379	-500	-879	464	-950	504	449
241	632	-558	779	283	-803	-352	-180
-988	-640	-779	-881	310	-403	352	369
446	944	535	-305	-989	-672	823	-618
-67	-776	820	-876	-883	-970	-574	135
559	788	-391	-716	254	-629	-654	-364
420	-532	308	240	-408	8	499	365
776	-316	-15	-186	71	246	293	-655
-901	-209	166	47	853	-754	862	-791
-900	-127	-667	608	-451	612	-878	693
-418	-264	-201	-937	-225	157	-107	-205
-694	493	811	-892	967	447	-579	-207
-274	-335	-620	721	308	-618	537	36
-902	305	-90	-700	752	329	-27	-500
719	141	77	-457	22	-118	-585	-64
8	-562	-38	-313	-674	248	-212	388
541	361	354	472	737	-518	835	531
-955	-762	-977	266	-698	359	-906	-689
519	-700	-801	-353	724	551	181	-863
-743	44	775	-943	-269	994	-483	-302
-782	406	413	621	-289	440	-51	-686
-804	-76	413	-952	-790	579	-315	448
625	841	151	-484	-95	-868	-798	-366
782	982	-498	-417	-310	749	32	-900
-767	89	-13	-170	-596	-722	-922	-611
190	-664	-581	755	-384	-650	-867	-607
-387	153	-772	-700	-16	-562	-722	-645
150	407	-700	575	530	581	-529	-535
859	281	830	-464	385	-86	534	247
-538	-676	444	-960	-706	174	72	-172
650	-503	-773	302	568	644	793	-558
-418	-373	355	174	-668	-473	-908	705
-361	-571	-249	103	-578	-278	860	-165
-313	60	677	-579	-427	-622	-343	528
262	529	752	238	-385	-484	703	720
-42	548	-493	116	273	-208	-51	957
-208	566	-184	-783	-482	596	-374	899
792	742	-199	-317	20	345	-825	-812
-750	-483	-333	-460	341	117	-343	-627
-738	-134	812	-885	-647	-86	-653	-554
566	927	972	-593	-322	-248	863	5
-590	899	849	-641	-295	-598	649	563
-660	489	672	-352	-406	124	-492	280
-25	15	-651	-731	876	895	108	-551
-451	985	-283	-466	15	890	872	-995
410	429	-851	860	-493	-357	-331	-919
-492	-159	598	-831	399	680	1000	-643
425	419	-661	652	464	-209	-382	360
-399	591	769	-802	225	-672	-508	424
852	-778	690	-483	633	51	844	-442
-743	494	754	977	32	830	28	307
-622	677	-728	-42	731	-663	-877	969
119	-858	1	224	-702	-645	429	-509
-935	-401	104	450	-41	443	-51	943
-268	562	891	654	-830	-749	765	588
stdout
INTERSECTING LINES OUTPUT
POINT 789.43 305.09
POINT 415.42 221.52
POINT -1613.81 -1996.83
POINT 4842.28 4262.58
POINT 715.34 -313.32
POINT -466.01 334.59
POINT -52.71 722.92
POINT 2921.56 9484.30
POINT 1208.53 -466.24
POINT -342.92 780.24
POINT 964.22 1246.07
POINT -62.02 357.97
POINT 711.05 -38.42
POINT -12602.21 -10020.16
POINT -69.50 -283.72
POINT 581.48 -501.80
POINT -387.68 -39.14
POINT 2.33 -106.36
POINT 103.79 167.18
POINT 379.09 -775.45
POINT 428.50 -600.22
POINT 194.66 348.65
POINT -587.02 -268.16
POINT -63.96 -1842.89
POINT 358.47 301.40
POINT 38.33 8401.57
POINT 2342.41 -1338.61
POINT 712.52 -386.84
POINT -511.03 -229.92
POINT -147.96 -435.07
POINT 882.23 -535.00
POINT -576.56 242.22
POINT -485.96 -1068.04
POINT 50.04 435.93
POINT -217.22 -665.05
POINT -202.09 514.96
POINT -513.45 -358.66
POINT -578.80 151.82
POINT -312.07 84.27
POINT 482.87 617.84
POINT -252.99 213.27
POINT -291.08 -850.74
POINT -46.49 -944.97
POINT -84.02 -535.41
POINT -1218.03 1392.09
POINT 480.54 -371.47
POINT -1507.53 953.69
POINT 221.25 -2034.39
POINT 557.87 -625.90
POINT -805.47 -692.75
POINT -244.20 -483.60
POINT 301.16 287.13
POINT 185.56 -218.96
POINT 631.02 158.57
POINT -653.55 650.42
POINT -30582.01 93286.13
POINT -136.68 -19.89
POINT 55.24 -1339.85
POINT -147.76 -628.51
POINT 404.42 -152.02
POINT -169.86 400.77
POINT 804.51 204.59
POINT -951.64 -918.96
POINT 268.85 -634.24
POINT -456.61 -142.21
POINT -300.14 492.69
POINT -2287.88 992.10
POINT -8.47 -929.79
POINT -147.60 -34.03
POINT 249280.80 -85802.75
POINT 211.18 -702.99
POINT -748.59 -648.13
POINT 330.95 371.24
POINT 888.52 1039.31
POINT 4446.98 -2117.68
POINT 798.42 -586.96
POINT -654.31 -540.22
POINT -308.80 -256.85
POINT -374.29 99.56
POINT 436.67 425.27
POINT 40.71 627.23
POINT -221.53 1326.75
POINT -1403.67 -1604.33
POINT -181.80 -451.66
POINT -648.17 -177.52
POINT 815.01 -5.25
POINT 218.59 33.65
POINT -579.04 437.88
POINT 1156.29 1422.74
POINT -595.47 2232.74
POINT -843.02 857.27
POINT 1275.01 -1248.39
POINT -888.83 700.88
POINT -1489.52 1891.60
POINT 1467.53 -1898.87
POINT 31.34 743.84
POINT -617.74 705.87
POINT 85.44 -550.31
POINT -38.80 333.04
POINT 838.79 649.86
END OF OUTPUT