编号 题目 状态 分数 总时间 内存 代码 / 答案文件 提交者 提交时间
#2956 #1003. 凸多边形 Compile Error 0 0 ms 0 K C / 996 B s230026068 2023-11-22 20:06:51
显示原始代码
#include <stdio.h>

typedef struct {
    float x;
    float y;
} Point;

// 计算两个向量的叉积
float cross_product(Point v1, Point v2) { return v1.x * v2.y - v1.y * v2.x; }

// 判断四边形是否是凸多边形
int is_convex_quadrilateral(Point A, Point B, Point C, Point D) {
    Point AB = { B.x - A.x, B.y - A.y };
    Point BC = { C.x - B.x, C.y - B.y };
    Point CD = { D.x - C.x, D.y - C.y };
    Point DA = { A.x - D.x, A.y - D.y };

    float cross_AB_BC = cross_product(AB, BC);
    float cross_BC_CD = cross_product(BC, CD);
    float cross_CD_DA = cross_product(CD, DA);
    float cross_DA_AB = cross_product(DA, AB);

    // 检查所有叉积是否具有相同的符号
    if ((cross_AB_BC > 0 && cross_BC_CD > 0 && cross_CD_DA > 0 && cross_DA_AB > 0) ||
        (cross_AB_BC < 0 && cross_BC_CD < 0 && cross_CD_DA < 0 && cross_DA_AB < 0)) {
        return 1;  // 是凸多边形
    } else {
        return 0;  // 不是凸多边形
    }
}

编译信息

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/../../../../libx32/crt1.o: in function `_start':
(.text+0x25): undefined reference to `main'
clang: error: linker command failed with exit code 1 (use -v to see invocation)