/* Kasioopea 2014 * http://ksp.mff.cuni.cz/akce/kasiopea/ * * Autorské řešení úlohy 26-K-1: Néreidky * * (Pro překlad nastavte svému překladači normu jazyka C na C99 * nebo novější. V gcc se o to postará přepínač -std=c99.) */ #include // Absolutní hodnota int abs(int x) { return x > 0 ? x : -x; } // Spočte dvojnásobek obsahu trojúhelníka // s vrcholy A = [x1,y1], B = [x2,y2], C = [x3,y3] int obsah(int x1, int y1, int x2, int y2, int x3, int y3) { // Spočteme souřadnice vektorů: u = B - A, v = C - A int xu = x2 - x1, yu = y2 - y1; int xv = x3 - x1, yv = y3 - y1; // Vrátíme obsah rovnoběžníka určeného vektory u a v return abs(xu * yv - yu * xv); } int N; int max_obsah, max_trojuhelnik; int main() { scanf("%d", &N); for (int i = 1; i <= N; i++) { int x1, y1, x2, y2, x3, y3; scanf("%d%d%d%d%d%d", &x1, &y1, &x2, &y2, &x3, &y3); int S = obsah(x1, y1, x2, y2, x3, y3); if (S > max_obsah) max_obsah = S, max_trojuhelnik = i; } printf("%d\n", max_trojuhelnik); return 0; }