美文网首页
[55]数三角形-拼多多2018秋

[55]数三角形-拼多多2018秋

作者: jdzhangxin | 来源:发表于2018-11-08 19:55 被阅读15次

1.题目描述

给出平面上的 n 个点,现在需要你求出,在这 n 个点里选 3 个点能构成一个三角形的方案有几种。

  • 输入描述:
    第一行包含一个正整数 n,表示平面上有 n 个点(n <= 100) 第 2 行到第 n + 1 行,每行有两个整数,表示这个点的 x 坐标和 y 坐标。(所有坐标的绝对值小于等于 100,且保证所有坐标不同)
  • 输出描述:
    输出一个数,表示能构成三角形的方案数。
  • 输入:
    4
    0 0
    0 1
    1 0
    1 1
    
  • 输出:
    4
    
  • 说明:
    4 个点中任意选择 3 个都能构成三角形

2.题目解析

穷举法
如何遍历数组中不重复的三点?

如果三点不共线, 就可以构成三角形
判断三点是否共线:两条线段斜率是否相等?(x1-x2)*(y1-y3) = (y1-y2)*(x1-x3)

3.参考答案

#include <cstdio>
using namespace std;
struct Point {
  int x;
  int y;
};

int main() {
  int n;
  scanf("%d", &n);
  
  Point a[n];
  for (int i = 0; i < n; ++i) {
    scanf("%d %d", &a[i].x, &a[i].y);
  }
  int res = 0;
  for (int i = 0; i < n; ++i) {// 遍历第一个点
    for (int j = i + 1; j < n; ++j) { // 遍历第二个点
      for (int k = j + 1; k < n; ++k) { // 遍历第三个点
        // 判断是否共线
        if ((a[j].x - a[i].x) * (a[k].y - a[i].y) !=
            (a[k].x - a[i].x) * (a[j].y - a[i].y)) {
          ++res;
        }
      }
    }
  }
  printf("%d\n", res);
}

牛客题目

相关文章

  • [55]数三角形-拼多多2018秋

    1.题目描述 给出平面上的 n 个点,现在需要你求出,在这 n 个点里选 3 个点能构成一个三角形的方案有几种。 ...

  • 拼多多-数三角形

    给出平面上的n个点,现在需要你求出,在这n个点里选3个点能构成一个三角形的方案有几种。输入描述第一行包含一个正整数...

  • 2018-12-10

    2018年三四线移动网民占比高达55%,三四线用户增速达17%,拼多多、趣头条等黑马APP爆发式增长,均因为成功吸...

  • 读入一个数列和N值,返回按优先级排序的N个数 满足...Pyth

    拼多多2019.09.01秋招笔试 算法工程师

  • 拼多多的前世今生

    拼多多走进大众视野,并且引起别人所重视,除了拼多多铺天盖地的广告,还在于拼多多与2018年7月26号在美国纳斯达克...

  • [08]小熊吃糖-拼多多2018秋

    1.题目描述 有n只小熊,他们有着各不相同的战斗力。每次他们吃糖时,会按照战斗力来排,战斗力高的小熊拥有优先选择权...

  • [21]列表补全-拼多多2018秋

    1.题目描述 在商城的某个位置有一个商品列表,该列表是由L1、L2两个子列表拼接而成。当用户浏览并翻页时,需要从列...

  • [31]周年庆-拼多多2018秋

    1.题目描述 拼多多王国的城市和道路的拓扑结构比较特别,是一个树状结构: 每个城市是树的一个节点; 城市之间的道路...

  • 拼多多是好企业 - 草稿

    谢谢主席,评委,大家好: 我方认为“拼多多是好企业”。 2018年拼多多因涉嫌售假被勒令整改,一时间,拼多多因此背...

  • 拼多多是好企业 - 草稿 - 草稿

    谢谢主席,评委,大家好: 我方认为“拼多多是好企业”。 2018年拼多多因涉嫌售假被勒令整改,一时间,拼多多因此背...

网友评论

      本文标题:[55]数三角形-拼多多2018秋

      本文链接:https://www.haomeiwen.com/subject/svfyoftx.html