language: C++ (gcc-4.3.4)
date: 109 days 13 hours ago
link:
visibility: public
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
#include<iostream>
 
using namespace std;
 
int s(int n)
{
    if(n>0)return 1;
    if(n==0)return 0;
    return -1;
}
int det(int a, int b, int c, int d, int e, int f)
{
    return a*d+b*e+c*f-e*d-f*a-c*b;
}
 
int main()
{
    long long int t, z = 1;
    cin >> t;
    while(t--)
    {
        long long int n = 1;
        int x1, x2, x3, x4, y1, y2, y3, y4;
        cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3 >> x4 >> y4;
        int d1 = (x2-x1)*(x2-x1)+(y2-y1)*(y2-y1);
        int d2 = (x4-x3)*(x4-x3)+(y4-y3)*(y4-y3);
        //Czy pusty
        if((x3 == x4 && y3 == y4)||(x1 == x2 && y1 == y2))
            continue;
        /*if((x1 == x4 && y1 == y4)&&(x3 == x2 && y3 == y2))
            continue;
        if((x1 == x3 && y1 == y3)&&(x4 == x2 && y4 == y2))
            continue;*/
 
        //Czy styka
        if(x1 == x3 && y1 == y3)
        {
            int d3 = (x2-x4)*(x2-x4)+(y2-y4)*(y2-y4);
            if(d1+d2 == d3)n = 50;
            if(d1+d2 > d3)n = 5;
        }
        else if(x1 == x4 && y1 == y4)
        {
            int d3 = (x2-x3)*(x2-x3)+(y2-y3)*(y2-y3);
            if(d1+d2 == d3)n = 50;
            if(d1+d2 > d3)n = 5;
        }
        else if(x2 == x3 && y2 == y3)
        {
            int d3 = (x1-x4)*(x1-x4)+(y1-y4)*(y1-y4);
            if(d1+d2 == d3)n = 50;
            if(d1+d2 > d3)n = 5;
        }
        else if(x2 == x4 && y2 == y4)
        {
            int d3 = (x1-x3)*(x1-x3)+(y1-y3)*(y1-y3);
            if(d1+d2 == d3)n = 50;
            if(d1+d2 > d3)n = 5;
        }
        //Czy X
        else if(s(det(x1,y1,x2,y2,x3,y3))!=s(det(x1,y1,x2,y2,x4,y4))&&s(det(x3,y3,x4,y4,x1,y1))!=s(det(x3,y3,x4,y4,x2,y2)))
        {
            if(det(x1,y1,x2,y2,x3,y3)==0||det(x1,y1,x2,y2,x4,y4)==0||det(x3,y3,x4,y4,x1,y1)==0||det(x3,y3,x4,y4,x2,y2)==0)n = 1;
            else n = 10;
        }
        if(det(x1,y1,x2,y2,x3,y3)==0 && det(x1,y1,x2,y2,x4,y4)==0) n = 1;
        z *= n;
        if(n == 50)cout << "L\n";
        else if(n == 10)cout << "X\n";
        else if(n == 5)cout << "V\n";
        else cout << "-\n";
    }
    cout << z;
    return 0;
}
 
  • upload with new input
  • result: Success     time: 0.02s    memory: 2732 kB     returned value: 0

        50
        9 6 17 18
        10 14 10 14
        12 8 12 0
        0 8 5 14
        16 8 10 0
        7 12 13 16
        3 12 9 18
        19 0 3 9
        6 8 18 12
        1 8 15 1
        1 14 17 7
        14 14 14 14
        13 3 2 17
        6 12 7 8
        17 1 5 16
        12 17 2 0
        13 11 17 12
        12 7 19 12
        15 5 13 8
        16 1 19 19
        2 9 4 14
        19 8 14 11
        11 17 10 11
        8 15 6 4
        0 14 18 15
        18 12 1 18
        5 13 17 6
        3 2 15 9
        3 5 3 19
        0 2 5 17
        3 11 11 7
        5 12 19 17
        7 5 6 17
        17 6 9 19
        7 2 19 18
        6 10 16 14
        1 9 7 12
        12 2 11 13
        12 16 5 3
        14 17 0 4
        17 13 14 6
        14 14 19 3
        5 1 8 11
        17 3 12 5
        4 10 12 11
        19 9 12 16
        2 3 5 18
        3 8 13 5
        3 12 2 7
        4 17 18 13
        3 2 18 6
        14 12 5 2
        6 10 3 18
        13 5 19 15
        13 8 0 16
        1 16 8 13
        16 4 0 2
        17 12 13 18
        6 0 6 11
        2 0 5 12
        15 8 2 8
        10 1 5 14
        11 4 1 5
        4 12 12 1
        3 12 8 5
        4 0 16 1
        7 2 13 3
        10 1 2 10
        11 5 9 17
        3 13 18 6
        13 14 17 11
        7 9 18 2
        11 2 1 18
        12 8 15 17
        10 19 10 8
        2 0 0 5
        19 5 17 1
        7 15 18 16
        10 12 1 8
        10 17 1 0
        12 14 19 2
        14 16 2 14
        9 4 8 4
        2 3 16 8
        2 13 8 14
        7 9 8 19
        2 17 14 10
        10 4 6 15
        4 14 18 17
        17 10 10 12
        19 6 7 18
        9 13 10 3
        9 11 6 10
        9 16 13 7
        2 11 5 7
        1 4 7 3
        10 17 18 6
        11 7 19 1
        2 2 14 6
        18 11 7 16
    -
    -
    -
    -
    X
    X
    -
    -
    -
    -
    X
    X
    X
    -
    -
    -
    -
    X
    X
    -
    -
    -
    -
    X
    -
    -
    -
    -
    X
    X
    -
    X
    X
    -
    -
    -
    -
    X
    -
    -
    X
    X
    -
    -
    -
    -
    -
    -
    1000000000000000