Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
5 / 5 / 0
Регистрация: 04.05.2019
Сообщений: 32

Нахождение треугольников среди множества точек

29.05.2019, 11:37. Показов 1313. Ответов 2

Студворк — интернет-сервис помощи студентам
Условие:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
Входной файл: triangle.in
Выходной файл: triangle.out
Ограничение времени: 3 секунды
Ограничение памяти: 256 М байт
 
Роман достаточно давно занимается в математическом кружке,
поэтому он уже успел узнать не только правила выполнения простейших операций,
но и о таком достаточно сложном понятии как симметрия. Для того чтобы получше изучить симметрию,
Роман решил начать с наиболее простых геометрических фигур – треугольников. Он скоро понял,
что осевой симметрией обладают так называемые равнобедренные треугольники.
Напомним, что треугольник называется равнобедренным, если его площадь положительна,
и у него есть хотя бы две равные стороны.  Недавно Роман, зайдя в класс, увидел,
что на доске нарисовано n точек. Разумеется, он сразу задумался, сколько существует троек из этих точек,
которые являются вершинами равнобедренных треугольников. Напишите программу, решающую указанную задачу.
 
Вход
Входной файл содержит в первой строке целое число n (3 ≤ n ≤ 1500). Каждая из последующих строк содержит по два разделенных пробелом целых числа – xi и yi , определяющих координаты i-ой точки. Все координаты точек не превосходят 109 по абсолютной величине. Среди заданных точек нет совпадающих.
 
Выход
В выходной файл необходимо вывести ответ на вышеназванную задачу.
*/
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <fstream>
 
#define ABS(a) (((a)<(0)) ? (-(a)) : (a))
 
using namespace std;
 
struct Coordinates
{
    int X;
    int Y;
};
 
class Triangle
{
    private:
    public:
        Triangle();
        Coordinates Vertex_1;
        Coordinates Vertex_2;
        Coordinates Vertex_3;
        double Edge_1;
        double Edge_2;
        double Edge_3;
        void Length()
        {
            Edge_1=ABS((Vertex_1.X-Vertex_2.X))+ABS((Vertex_1.Y-Vertex_2.Y));
            Edge_2=ABS((Vertex_1.X-Vertex_3.X))+ABS((Vertex_1.Y-Vertex_3.Y));
            Edge_3=ABS((Vertex_2.X-Vertex_3.X))+ABS((Vertex_2.Y-Vertex_3.Y));
        }
        bool Isosceles()
        {
            Length();
            if(Edge_1&&Edge_2&&Edge_3)
            {
                if (Edge_1==Edge_2||Edge_1==Edge_3||Edge_2==Edge_3)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
        void Get_Coordinates_Of_Vertexes(Coordinates V1, Coordinates V2, Coordinates V3)
        {
            Vertex_1=V1;
            Vertex_2=V2;
            Vertex_3=V3;
        }
};
Triangle::Triangle()
{
    Vertex_1.X=0;
    Vertex_2.X=0;
    Vertex_3.X=0;
    Vertex_1.Y=0;
    Vertex_2.Y=0;
    Vertex_3.Y=0;
    Edge_1=0;
    Edge_2=0;
    Edge_3=0;
}
int main(void)
{
    ios::sync_with_stdio(false);
 
    ofstream fout("triangle.out");
    cout.rdbuf(fout.rdbuf());   
    
    ifstream fin("triangle.in");
    cin.rdbuf(fin.rdbuf());
 
    int N;
    cin >> N;
    Coordinates *Array_Of_Vertex=new Coordinates [N];
    Triangle Tri;
    for(int i=0;i<N;i++)
    {
        cin >> Array_Of_Vertex[i].X >> Array_Of_Vertex[i].Y;
    }
    int Count=0;
    for(int i=0;i<N-2;i++)
    {
        for(int j=i+1;j<N-1;j++)
        {
            for(int z=j+1;z<N;z++)
            {
                Tri.Get_Coordinates_Of_Vertexes(Array_Of_Vertex[i],Array_Of_Vertex[j],Array_Of_Vertex[z]);
                if(Tri.Isosceles())
                    Count++;
            }
        }
    }
    cout << Count;
    delete[] Array_Of_Vertex;
    return 0;
}
Проблема:
Крайне медленная реализация. Крайний тест выполняется за время в 3 раза превышающее допустимое.
Основной проблемой, как мне кажется является перебор всех наборов троек точек:
C++
1
2
3
 for(int i=0;i<N-2;i++)
        for(int j=i+1;j<N-1;j++)
            for(int z=j+1;z<N;z++)
Вопрос:
Есть ли какая-то возможность не перебирать все варианты, а как-то заранее отсеять заведомо "плохие" комбинации? Или проблема вообще не в этом?

Добавлено через 16 секунд
Крайний тест, если интересует:
Кликните здесь для просмотра всего текста
1500
2395 -302
2641 3244
-653 415
-821 2758
1529 1141
2465 -1019
1957 -2063
-303 -998
2833 1087
-621 -2159
1381 2047
925 658
1659 3103
1201 -2090
1491 -1436
-335 2131
755 2008
841 -1592
2177 -653
1737 -1649
831 3277
969 -1451
-447 1861
-753 319
405 -2207
1899 2782
-563 139
-871 3016
889 16
735 2389
45 -878
-1105 1726
919 -518
1787 -494
-45 2362
1675 2701
-55 -293
2197 1453
-675 3088
2485 -1793
-931 451
855 3493
2349 2692
1745 1966
-869 1372
2541 1933
963 2539
2063 934
37 3034
1319 1618
-183 -821
255 3502
1351 -695
-807 -200
2481 937
2615 -1982
135 3139
3 364
-1103 -143
-567 1747
2027 -2300
2571 -1553
2111 1048
2789 2143
1577 -1103
1097 1432
2207 1378
-451 535
-155 1276
821 2299
1539 1564
-337 2185
-779 -728
905 1375
-813 3631
-323 694
-479 -113
589 -1559
663 -269
1499 -1166
-681 2677
591 3223
875 370
2441 -311
2535 1168
-247 -1754
335 -29
473 -1769
2267 -383
-1063 -1901
2629 -158
2765 3241
1883 3151
179 1009
1115 -1493
1443 -413
1353 -701
1085 859
-1107 3415
625 940
835 2884
475 -458
2017 -2000
2691 796
1515 2278
-711 1702
1945 2182
1799 1903
-317 -938
733 -2162
-737 -1850
673 -1928
2083 3049
1671 1807
641 3613
2615 -1643
2485 658
-715 -1331
1037 -1655
2779 3586
-471 -1298
963 949
-829 -1835
2699 1300
-187 -467
1453 3223
2227 268
61 3058
2225 3544
-741 3127
-191 -2087
1729 -1901
-479 3076
295 -1289
-829 -1466
9 3415
1181 -2309
771 -1811
1661 3172
185 142
1473 817
1357 28
429 1312
-715 2398
807 1747
569 3466
-593 -893
101 430
307 3064
-575 1342
1505 2947
475 190
1655 1381
1341 3376
2071 400
1807 3235
175 1513
-725 -263
-387 -1418
841 -956
-829 -2027
2135 3070
-251 -170
681 -305
1509 1891
417 832
427 -1202
1071 2911
2451 -752
-889 -1955
2379 916
-89 3475
-253 2563
1851 409
829 2221
2033 -953
973 -2123
2299 -2222
2469 2554
-773 2344
107 3175
2815 2041
-347 -1844
1515 -332
-627 -1877
335 1342
1869 1618
-335 -152
325 1255
-465 -1295
443 -788
-1021 -455
177 454
1221 3028
2507 1603
309 2911
1401 868
1979 2425
2201 1927
325 -350
2553 -1826
1073 -2015
1141 3247
-953 3451
2361 3220
2599 1882
2131 1387
2617 769
1063 -1955
871 -161
117 1144
1315 2026
-1007 3283
1085 -1964
2403 -137
2847 3139
417 -1088
-797 -1691
2109 -1610
849 1453
2615 -1574
1117 -2222
883 3421
2683 52
2221 334
1031 838
871 3187
437 421
2807 3055
-885 1522
1907 556
1221 1507
-283 -803
2417 2227
-7 1480
671 -869
2167 3202
987 2842
-997 823
-267 -2192
555 -1652
-705 2239
-355 1582
689 -1088
-933 1177
-1127 112
1671 1450
2419 1219
1515 3229
211 -755
-669 790
-1071 1852
2403 196
-91 2107
2105 1963
1143 3562
-719 466
-927 1843
637 22
1889 -1589
2329 985
-1035 3643
1965 820
207 -155
1179 2548
-97 -1529
1975 439
855 3073
1023 -1577
-597 3196
-887 -1964
1087 -92
-71 2398
1587 -947
1347 55
673 -68
-561 2155
1819 2536
2375 -2201
-821 -1967
397 43
2621 -1394
-917 2389
485 2350
43 3229
799 337
2273 -902
561 2563
2341 -794
1865 874
597 1063
2489 -1433
1573 706
1667 -2189
1793 -1646
2735 -464
-835 -2051
-703 -59
-869 445
675 -671
1787 -1700
1237 -1658
-871 -1964
-629 313
669 3295
755 -2117
2517 271
1593 1516
209 1003
559 1087
2433 3301
1081 -806
-205 -2162
2689 -1640
-95 -1742
1089 -245
891 -314
1671 622
555 592
139 3055
-621 2407
913 271
545 -1250
1059 -1937
-855 -2249
353 -1439
1811 2293
-753 949
-1093 637
-643 3349
505 3325
2203 3463
309 1756
-1131 3181
721 1339
291 -236
1253 1636
2813 1810
1443 1420
771 1597
2487 10
2727 -962
763 -2165
1071 -173
-563 598
1681 1972
1343 2977
1311 -1622
-699 1237
1415 613
1119 1699
73 529
-623 -581
733 -2129
1275 -965
1425 1591
2653 1171
1163 -2087
-567 -728
1201 -47
2635 3334
-153 901
139 394
515 2527
1449 3199
1693 -1889
2555 -2057
2541 511
1161 -467
2771 3424
1421 -1799
533 -392
373 2974
961 1171
1283 -1211
1099 2548
57 1795
1859 2398
-65 2608
2731 -1982
2635 3052
-87 -539
1137 -818
1563 -2021
317 -902
2835 -983
577 3367
413 3322
697 3502
-769 1393
1081 1423
1041 -80
1579 271
1529 -1685
1077 2482
-317 3076
-941 -1454
91 1036
295 3370
1821 292
875 586
641 2809
2747 -1184
201 2479
979 3181
899 1756
913 1048
115 -527
-617 2407
2483 106
1227 2728
-81 -11
-763 1789
2057 -2189
2773 3301
2811 -98
1175 -200
1727 -1460
1245 2689
-157 -1061
-1113 -1220
2699 -1976
2173 -1616
219 -287
-31 -821
2163 2806
-641 -2096
785 1165
-3 3217
1451 1357
2617 -1382
2833 -1643
1875 -2102
1437 1558
2709 958
101 643
405 1420
1177 2566
1569 994
2067 2230
145 -1088
-185 3055
-239 -1592
451 1093
2475 1618
1729 -2180
1195 1810
-991 292
1935 1378
927 -1217
-927 1447
2545 3631
-173 553
697 2335
-879 -713
1181 -293
-965 3283
509 -920
31 487
1893 358
117 -1880
2159 1969
-819 2206
-727 1447
2641 -1925
-833 2755
-399 -2180
1559 -1973
-239 -14
1431 880
2167 2515
-97 -74
2077 1297
-883 2710
-919 -1778
901 -362
2695 2206
1819 3139
571 1975
2365 640
-425 -818
943 3586
2857 -410
337 -1931
-877 -140
-635 349
1351 2773
-621 1768
1013 -689
333 3358
1135 1552
2081 -293
277 1684
-399 1276
663 -1862
1843 -197
2653 3223
847 -1013
717 2107
-1107 70
1149 2671
2299 1474
2629 -1007
-427 1192
1905 3031
2655 -1967
-271 244
2847 1432
-745 -1286
2213 913
2073 553
2073 -2057
79 2068
-713 277
2383 -1433
2049 445
1381 1243
1841 3592
-727 2968
-739 3265
1127 -506
2395 3349
1715 -80
1423 -230
2331 -2189
167 -824
2727 1930
2239 3175
2391 -1064
2485 2350
2353 -1988
-565 1699
-325 2761
1417 -1379
-131 3316
29 -1862
1363 -905
1683 1492
-751 -1958
855 1780
513 -182
-203 -2207
-137 1807
333 2695
2425 2389
2473 1702
447 1327
1501 436
205 -1262
259 1090
313 1510
2279 3070
-391 -440
455 262
1811 1918
993 2605
1131 1927
-759 3076
2037 583
1163 -1199
-663 2326
1095 2425
1797 1234
-497 -653
-553 1048
1421 100
-191 -137
1219 2392
-823 -2033
465 3043
183 -1310
2507 3487
-177 3676
459 1933
1113 -509
345 2890
2595 -5
2009 -1805
843 310
1519 1222
2201 -107
-241 1366
883 1537
-1125 1546
1691 2740
1277 2815
2469 3361
-1133 -239
539 943
1213 -2135
267 616
313 -566
-29 1993
2687 2299
1343 -1031
427 2947
1569 -173
1949 3187
1367 -1475
89 3064
-917 3634
267 151
2077 -1238
371 -1139
-461 -2048
-917 -1022
1991 871
2309 16
1565 2248
2411 -401
363 1471
1927 1489
-1029 1747
2475 2449
2405 1681
507 568
1603 1756
621 3220
1731 1576
2119 2308
1405 1276
-537 -44
83 -1970
2389 1309
-225 40
2275 562
285 -2084
525 -77
145 2890
-365 649
455 -1316
2591 2779
1809 3562
-655 -2222
1469 2329
25 -290
-981 1822
-441 85
-339 2704
-579 3079
1321 -8
1185 -755
801 253
-453 1414
-873 2839
-457 -2138
-709 2077
-383 3505
2575 2842
-749 1189
2639 1384
2821 -1214
1587 -1157
385 3244
1153 2344
-911 2176
-773 70
-135 3304
-1085 271
-875 3217
2281 3523
119 -1232
1999 1228
-327 -347
1085 -1268
965 2392
-97 2959
43 1342
2619 -56
2773 -101
295 3250
1885 -1439
841 3589
849 -2024
949 -395
207 2683
273 3211
-899 631
-1033 -1643
1661 3223
837 1723
-1073 -2069
1237 3109
2049 3268
-61 3061
-639 3124
143 559
-887 1276
-191 1192
477 109
2531 -2270
551 3256
83 2518
2039 -683
-91 2536
-713 -695
-359 3634
1389 -2051
-75 1732
-1 559
-311 2485
2609 574
-941 2266
895 -1538
103 886
911 -1871
601 -2027
2731 2476
1011 -1601
2289 1285
1847 -338
1081 91
1621 1630
2413 2170
2569 2569
1877 1300
319 844
779 2503
2725 -809
161 -644
1 -1997
2119 67
1417 1495
2127 -2030
2659 2164
1027 -425
1109 493
2381 2860
1209 -1772
1875 -83
1075 1213
467 1672
591 3112
1957 -242
123 1015
655 -1721
93 -764
1885 3544
549 1306
-1063 -530
947 3457
-763 -2159
1347 -1379
1331 1984
-845 1291
1465 109
673 3091
1379 -2060
-421 -1394
2029 -221
-439 247
931 -1343
-717 -1388
-199 1768
-1127 256
2177 -1208
109 259
1721 -1685
1515 490
-1101 931
2519 10
685 1258
-101 -521
-979 -1517
677 2992
701 2605
653 2254
2361 1003
2789 1501
1279 1549
2585 -953
1659 -146
689 -1091
1087 1834
-115 1375
2861 265
671 934
851 3466
2601 3496
627 -248
-421 -1733
1491 856
2327 1237
1123 2926
2137 619
1537 -707
-811 2218
23 658
-457 2089
1761 1813
2045 3409
-203 3640
1301 -2051
1085 2431
1937 2101
2237 -1697
301 -1211
-271 -2243
2819 -1754
211 -875
-831 25
1607 -1007
1505 148
713 -695
1843 2812
-25 2281
885 3556
-885 -197
2403 2290
2329 1450
385 -1898
701 2785
-831 3244
2559 1129
-317 1174
1435 -596
2043 3130
337 238
-341 -929
-9 -8
1065 2446
-221 -158
615 -371
1023 -1400
285 526
-667 -599
1733 -1850
1685 -2066
823 670
929 -626
1787 751
1409 -1355
1219 670
2383 -1790
1099 3058
-1073 1006
-991 -1304
1035 1711
759 2293
547 973
1573 2581
663 2776
-923 739
-331 -1406
2211 448
1613 3502
1303 562
-433 838
1479 742
2215 1687
2577 2017
-593 730
1781 3622
-585 1684
145 -959
-475 -1058
-799 -284
693 1636
2831 2203
1943 1690
595 2302
-813 -899
1725 -974
2153 1054
1913 -1220
115 3037
2161 1717
127 3640
-203 1609
2407 -1850
925 2227
2607 -365
419 541
-389 -347
717 2725
609 -1757
1555 2299
43 373
1851 1414
2219 3472
-73 1567
2181 2227
-769 -248
593 2305
-205 3403
1307 103
555 1033
1251 1276
2785 1006
-577 2092
1773 325
583 3373
-1027 -1151
2389 2095
-201 1834
-363 3349
-765 3220
315 814
2485 3577
1133 1387
815 -1916
-775 3124
-195 3493
1739 -833
2169 2401
-59 -2198
345 2881
-407 2287
-945 -1292
237 3646
997 1237
1089 -956
1869 3205
245 1948
1921 475
-1125 -356
2215 1087
-913 1384
2761 481
1153 -2279
759 -635
2791 1234
101 -1907
181 -1712
315 -1022
-579 2995
2183 1429
65 -1985
165 331
1499 -1625
861 -416
-231 1927
-339 172
-373 -344
815 1720
-607 -1565
-947 -2120
-591 -1571
2009 1528
1699 778
1575 -902
1581 2716
-591 -953
877 -1193
783 -1244
1423 2437
-65 1879
2577 1183
1141 3463
-605 1300
677 -227
-823 -98
-141 3277
-949 1027
359 2581
311 1246
1973 856
171 -2042
39 3577
2639 3061
685 1975
-827 -1940
1085 184
-1137 2446
-1053 3409
751 2275
371 49
2025 -2192
301 2218
779 -1748
2749 493
997 3277
963 2383
461 484
2755 1348
-719 3502
-851 829
-277 781
-433 3166
1021 -1151
1685 817
1869 3127
1227 2800
275 2935
-185 -1283
1471 -1070
2091 -1646
1547 -1454
2305 -1853
-473 2638
1541 3535
-451 1966
1773 3505
1853 -2291
-51 -671
2239 1621
2277 -1166
731 3001
-107 3115
1077 -848
-357479732 486256755
-523909745 267829495
-126533603 806764608
-149125076 719776750
607306600 766407135
700904503 227056218
419596201 -841511696
-929664458 898634252
-203915078 -383653433
648809519 297464321
-374729408 -548876587
-164704396 -865299114
544468486 757110055
-860175931 -346633608
-266853721 753422224
766860304 920221378
247274642 830753110
-275930536 -255412279
488443444 271954407
300221750 442875013
-98506406 -884804500
255988300 -832439961
-505585501 -871549233
-428622286 -980630596
274257150 364065006
-906436791 661415274
-807187168 -737853009
928850384 -345965766
695807465 771541159
922535621 229079297
469361557 -542872600
70405108 -277584996
477465798 -937800997
205624494 383365678
884222264 494668697
-195230848 -220133215
954601259 705852840
256745085 -481930571
-472536230 -569416284
-561649556 495147970
154599559 -742600025
-59772317 -595939240
499530869 997565178
-213043674 -290985979
89831763 821664478
-4963629 810378826
-983286919 132529431
-187487694 -382188779
675623034 -356759080
983987767 -749674527
141613404 -371039788
884780804 82070425
273221389 821338135
867969781 852558999
138617060 914252387
668079903 60100805
857766447 149622961
205160360 357187892
454360249 -47944295
633002104 -833416395
-188741825 -918936004
975246243 -763135413
323198898 269618550
-806866932 -643834111
340525646 817775346
-971358296 -57120783
-2322590 -889868315
466770375 732054294
520195783 -474139628
160707309 276253356
603997416 710072012
663642263 -520391230
960662109 675255447
-189031337 -116166225
622486519 701546309
96626387 -75063653
-898946501 504573698
387335159 879386193
993067055 -360365010
818468569 718484868
127202932 610948763
215318728 589689018
845724831 -345264147
-116498462 -856363252
514616237 -335121465
112252593 425627111
-144022116 229907827
234363695 -449697275
196440843 250068917
-413489987 878285522
-774654774 -896785277
-786282151 -86484395
-643565468 828277569
661723040 640043250
-713184403 295068988
700969977 517024014
-153065811 829157657
-673998740 -149333013
-264683788 -739424552
873987967 761886150
-768175453 865101609
606150552 -531595128
483181513 -833124935
-404179628 100063529
-545493055 71084856
-733108167 766080240
-859378083 295488683
-573584839 -906985261
130868070 569509591
135079808 952185369
-878807427 569660777
259338466 595289190
467248712 -939951488
48921722 916975232
372262100 -793296795
-416506669 -936879144
-196587488 -465511424
-567803890 -896438750
730481348 -504661038
369838467 -11977959
780514714 -883425252
-506528456 -495994961
-97747860 698045922
583106996 -544622891
-865929089 -973146250
-949674615 -219587842
69196029 -921599410
318525208 -171963748
111925800 672517813
978562538 -488974137
-881376957 53421860
563531304 -445090771
-482778072 862248424
286434188 561320855
499000436 -529085248
-415505851 -895440881
-623631555 146060078
-186143432 -419902971
-299578560 11814174
938432025 -976203926
232009851 280144031
-443370306 620573229
-639925988 717528665
-890268627 121271063
60994749 816712044
-384343874 -113519011
992709587 -357715856
771865556 -223930374
-182655409 818840134
771159708 603158294
-653888175 -369532331
-325886408 371305626
-399777565 -299687670
681904327 13643319
-618434636 -781028825
-846721082 -147285007
-553098313 -809535583
-290587344 499768188
-120675431 664535233
270408136 412249480
750734855 424027688
367184911 828252720
-330917721 -903907205
-427490241 -703329593
304122300 155972692
394917592 -478201824
485438562 792112948
479272967 -258857582
966480983 101352989
-542277758 355181018
448369461 582944659
294786350 27827226
957213216 -599851107
-529655807 -23653353
168695747 378160530
844256667 669477363
-226324584 207111231
546381313 -347496836
-521448334 818900546
735727588 -281970069
734146849 406605083
572502762 -858784887
786853692 55215822
-753201554 198200356
145798382 -547546462
407667737 686497236
-940230725 -351587641
-163657008 -333923869
-902338766 -667218556
707344226 -860091785
426185592 -401605210
-718771863 -107289430
-121404271 659859157
372727755 206644433
-591821706 496010130
438032711 672716558
-979739964 -115053711
624960139 816633715
776480264 800391526
629766201 -242139701
965078932 -361864538
704348232 -379370919
30950355 -758697990
-342412485 915655070
359212541 193196054
-805417322 -388697500
506042151 346478247
-562476280 112954963
970525091 57417951
971956659 869338634
-898727288 -906025718
-737811199 -175451353
-768446341 -313544703
-220415354 -565471413
636691323 689505295
687502405 -533246894
407476929 324170246
426621150 301863665
833348247 -531208652
44408591 -43992601
-610916070 -32523294
612479471 542629114
-81236528 924901137
575594587 392466400
110742797 456184096
376050446 550497877
857395465 860595738
197209531 868594557
-406630486 -312158910
-830078796 -587375658
206109917 -334327637
885583227 -597240363
612396669 957579374
559593912 405738095
-405351503 -280691895
-311055108 997826480
990742200 -577042614
547704525 617237663
-168902399 -82596309
-635858091 824750740
-483221855 -306195923
-476758462 691284271
-367642900 -675072770
638358572 -468827352
487299398 547062653
-164235265 699895589
979609094 -46742036
95834842 675010752
875492451 766634330
994623940 139039481
-901213346 662530017
-310414909 283055671
123904147 108222078
493177764 49727758
-933957415 188976147
-121883141 534563843
562410434 -610825622
258012358 -735890074
-961781835 -702728506
387149596 -430148721
451185108 -296671030
723160162 776566936
108311898 57877333
596333420 -576112692
-351331431 760856598
529318657 239804933
785948264 249384818
-449032142 84888332
-95463432 353104766
-151930892 585949010
102846472 885858738
-401279392 -322088432
-222331043 942441485
-668904674 772636952
-656710794 869181266
-348653725 773448810
179118440 -622900975
684402406 654112993
399591378 766395704
71405133 821020168
540079322 -268982337
867535483 -22678440
752568873 -287949759
-816018133 707767822
-395143740 -731310566
-82201519 -496998975
-922992693 -564458303
-586595672 -557950225
848833014 -464998120
399472866 251777457
-527869230 -586540724
-955037720 962033600
521441192 570081803
478036389 875258370
317070580 -853071689
-388373847 -930709813
314129007 249139010
619381841 -847873530
-248665971 -436045978
905765789 487387501
653330021 747310068
-85964196 -390766585
-219726862 -453234739
-384130808 45484323
618431900 129502050
26377398 -732306449
-994446596 -415841739
-411738715 -13075992
484745160 -934763712
768857032 -486022325
-19377449 548840390
-286177347 -597171773
891471920 668492123
-698784848 96006775
-808820723 -400226104
-560291706 -209309273
634674647 -537449350
954700999 -755754212
-339357989 -790480338
-93933629 737971072
-914755087 -530161524
-318708655 -82202656
180617655 -683419044
707756961 -269311607
-768127859 -573228536
127909258 175495518
-833629662 602747173
281070804 87015148
-650987644 -876401515
-664357160 -328000417
-862709833 895437596
-84551944 -984129139
-710143067 869245167
63963986 278887754
-177638026 695045137
-609802964 -199484121
-595698651 81157646
-260052872 830750945
-109365930 -172719906
236212978 107145116
81913934 -999853683
-967512012 -3713490
-693313012 -779486104
622696778 418481808
-80095384 -469770418
51522325 -725607997
311102244 -191877144
-131126253 592371263
516093679 -796522399
172244690 115258923
-974068927 555831918
580712361 545374606
-113119494 269856042
-515672830 -833533539
-314836805 -385941590
412643010 -938637466
510212333 -87930170
-133861855 -355924742
-509804452 595255793
-545723255 725109067
-6447006 -414593102
-316038971 828721146
90301054 -23742589
-757875963 980885290
366851681 -517418062
116213031 -313291097
-311902644 -374379761
-603686484 -683946889
511680 123580149
-897336108 616106006
-229984423 455968638
-117689273 569659010
148359135 -929499013
918654650 -682163628
461769066 -798661902
897636881 366027784
115611788 767401918
-625683625 791774119
508822146 319518996
383587600 673356302
-948152266 -494857838
638788931 -542162696
-118141131 -980599664
-838048327 -512692746
368974169 -488773548
-310560283 -597918315
-992748236 -586686488
-303270197 639602900
784196139 164648774
386082425 747794463
622530586 -205623954
480853354 -268381182
-12014705 335736125
-829804216 151588032
256851065 -961164657
47903107 192977660
937048637 -149007742
389142312 -575506265
-663536342 133412444
608828006 -534857106
772297268 82941434
-754612935 278055610
915182303 827645769
-686336092 -689987436
361815140 -335027826
370716393 -804575863
29853156 -588765129
-861747663 243513029
468827811 -668818997
25456678 427449996
680823359 -383615810
-604040771 94192721
544671186 -118783792
-77306904 -886222193
-562590228 645146796
-125606316 686815892
146760274 -729878419
677488360 528939890
-331632262 321768140
597126717 650956363
981557936 823180172
881101474 -546549993
397359824 -629970192
-789589996 354591277
-427456368 575758039
-199793522 -330102882
-216575427 815593270
-5105360 962694847
553182178 -261852001
-298888796 -415960873
-773554744 513343626
502349881 -379167896
584892486 285413376
-201023978 -29103367
97618619 799733361
-182618103 763752655
900016324 -327768249
-167967409 -154153319
-905076364 -729873910
444152524 -451015581
469787058 672738715
-739197393 460716510
223590257 681140316
-181901990 -584572606
-202701591 345371614
92316560 -575122694
-598431842 -22006831
-557352233 -233052608
-664526801 122713304
-670667526 951337951
-310004508 446844165
-349056876 -219030202
530032099 -973664103
-955445335 227838768
-851332361 992138953
-7443930 342073318
-512537617 6644516
79852487 -87054720
-683494044 538953063
-754791989 100583725
-732013322 -592278962
-629520916 757141954
317026524 -439664341
-948511484 -343832385
803531711 -442832151
894290138 348925950
588808904 729653289
-819425932 -133573845
440697060 480951595
245962619 -14099123
-759035120 697933630
414946815 280488830
108723905 743246927
836213540 -329129463
-966392783 996209247
-937886684 -302392803
112463780 -588719745
-283981301 -767067323
-16681598 62861332
-908676702 850748633
550347318 -854826504
-974168566 -426427258
-406380599 395963465
-104711598 -784809918
-642646998 412787828
-930198626 37757618
-289561594 830625357
-323099072 -57888184
972975922 829567432
-985006814 -89970609
2579587 -58663401
460952597 917191171
-365803487 -376616751
-784394675 35599088
67191838 569310420
730853287 -55803698
-706550684 -775623271
-837811214 566440435
160237531 -525172572
-309650204 53579941
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.05.2019, 11:37
Ответы с готовыми решениями:

Среди треугольников с вершинами в заданном множестве точек на плоскости
Среди треугольников с вершинами в заданном множестве точек на плоскости указать такой, стороны которого содержат максимально число точек...

Среди точек первого множества найти такую,которая принадлежит наибольшему количеству множеств.
Мне нужно написать эту программу,я совершенно не знаю как это сделать.Знаю только,что пишется она с использованием массива) Кто-нибудь...

Среди треугольников узнать такой, стороны которого содержат максимальное число точек заданного множества
Нужно написать программу с использованием технологии структурного программирования: Среди треугольников с вершинами в заданном...

2
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
29.05.2019, 12:41
Цитата Сообщение от Clagron Посмотреть сообщение
Крайне медленная реализация. Крайний тест выполняется за время в 3 раза превышающее допустимое.
Основной проблемой, как мне кажется является перебор всех наборов троек точек:
А какое допустимое время?
Компилируешь точно в релизе?
Ну и класс Triangle у тебя не слишком оптимальный, лучше без него. Лишние копирования только
Вместо макроса ABS лучше использовать стандартную abs

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
      bool Isosceles()
        {
            Length();
            return 
                ((Edge_1==Edge_2 ||  Edge_1==Edge_3) && Edge_1 != 0) ||
                ((Edge_2==Edge_3) && Edge_2 != 0);
        }
0
5 / 5 / 0
Регистрация: 04.05.2019
Сообщений: 32
29.05.2019, 14:14  [ТС]
тема закрыта. Ибо мой код выдаёт неправильный ответ в принципе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.05.2019, 14:14
Помогаю со студенческими работами здесь

Среди множества точек на плоскости найдите пару точек с минимальным расстоянием между ними
Среди множества точек на плоскости найдите пару точек с минимальным расстоянием между ними. Определение расстояния между двумя точками...

Среди всех точек этого множества найти пару симметричных относительно оси ОХ точек
Доброго вечер. Помогите, пожалуйста, с задачей: Дано множество A из N точек на плоскости. Среди всех точек этого множества найти пару...

Сколько треугольников можно создать из множества точек
Создать функцию, определяющую расстояние между двумя точками по координатам. Дано множество точек плоскости (их координаты). Определите,...

Дано множество A из N точек на плоскости. Найти точку (вывести её номер и значение) среди всех точек этого множества
Дано множество A из N точек на плоскости. Найти точку (вывести её номер и значение) среди всех точек этого множества, лежащих в первой...

На плоскости n точек заданы своими координатами. Выявить множества треугольников по заданию
На плоскости n точек заданы своими координатами, и также дана окружность радиуса R с центром в начале координат. Указать множество всех...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru