/* Nguyen Huong Duyen
6251071018
CNTT K62 - Nhom 1 */
#include<stdio.h>
#include <string.h>
#include <math.h>

struct Diem {
    int x;
    int y;
};

void Nhap_1_Diem (Diem &a){
    printf("\nx= "); scanf("%d",&a.x);
    printf("\ny= "); scanf("%d",&a.y);
}
void Xuat_1_Diem (Diem a){
    printf("\n x= %d",a.x);
    printf("\n y= %d",a.y);
}
float DoDaiDoanThang (Diem a, Diem b ){
    // (a-b)^2
    return pow((pow((a.x-b.x),2)+pow((a.y-b.y),2)),0.5);
}
void DoDaiDoanGapKhuc(Diem a[],int n){
    float Tong=0;
    for (int i=0;i<n-1;i++){
        Tong+= DoDaiDoanThang (a[i], a[i+1]);
    } 
    printf("\ngia tri tong: %.2f",Tong); 
}
void DoDaiLonNhat (Diem a[],int n){
    Diem M1, M2;
    M1 = a[1];
    M2 = a[2];
    //tarrget
    int T1,T2;
    for (int i=0;i<n-1;i++){
        for (int j=i+1;j<n;j++){
            if (DoDaiDoanThang(a[i],a[j])>DoDaiDoanThang(M1,M2)){
                M1 = a[i];
                M2 = a[j];
                T1=i;
                T2=j;
            }
        }
    }
    printf("\nDo dai doan lon nhat: %.2f", DoDaiDoanThang(M1,M2));
    printf("\nDiem M%d:",T1);
    Xuat_1_Diem(M1);
    printf("\nDiem M%d:",T2);
    Xuat_1_Diem(M2);
}
int SoSanh (Diem a, Diem b[], int n){
    for (int j=0;j<n;){
        //printf("\n");
        if ((a.x==b[j].x && a.y==b[j].y)==1)
        return 1;
        //break;}
    }
}
main(){
    Diem M[100];
    int n;
    do{
        printf("Nhap so diem trong day: n= "); scanf("%d",&n);
    } while (n<0||n>100);
    //
    for (int i=0;i<n;){ 
        printf("\nNhap Diem M%d",i);
        Nhap_1_Diem(M[i]);
        printf("\n");
        Xuat_1_Diem(M[i]);
        if (i>=1){
        for (int j=0;j<i;j++){
        printf("\n");
        printf("%d",j);
        Xuat_1_Diem(M[j]);
        if ((M[i].x==M[j].x && M[i].y==M[j].y)){
        //if(SoSanh(M[i],M,i))
            printf("Diem da ton tai truoc do.");
            break;
        }
        else i++;
        }
        }
    }
    //
    //printf("\n Kiem tra gia tri da nhap: \n");
    //for (int i=0;i<n;i++){
    //    printf("\nDiem M%d:",i);
    //   Xuat_1_Diem(M[i]);
    //}
    //
    DoDaiDoanGapKhuc(M,n);
    DoDaiLonNhat(M,n);
    //Cat truc Oy
    int count1=0;
    for (int i=0;i<n;i++){
        for (int j=i+1;j<n;j++){
            if((M[i].x * M[j].x)<=0)
                count1++;
        }
    }
    if (count1)
    printf("\n %d doan thang thoa dieu kien.",count1);
    else
    printf("\nKhong co doan thang thoa dieu kien.");
    //
    int count2=0;
    for (int i=0;i<n;i++){
            if(M[i].x>0 && M[i].y>0)
                count2++;
        
    }
    if (count2)
    printf("\n %d doan thang thoa dieu kien.",count2);
    else
    printf("\nKhong co doan thang thoa dieu kien.");
}