小猴编程周赛C++ | 2022年春第1周T1三角形

​学习C++从娃娃抓起!记录下在学而思小猴编程学习过程中的题目,记录每一个瞬间。侵权即删,谢谢支持!

附上汇总贴:小猴编程C++ | 汇总-CSDN博客


【题目描述】

Farmer John 想要给他的奶牛们建造一个三角形牧场。

有 N 个栅栏柱子分别位于农场的二维平面上不同的点 ( X 1 , Y 1 ) … ( X N , Y N ) (X_1,Y_1)\dots(X_N,Y_N) (X1,Y1)(XN,YN)

他可以选择其中三个点组成三角形牧场,只要三角形有一条边与 x 轴平行,且有另一条边与 y 轴平行。

FJ 可以组成的合法三角形的最大面积多少 ?保证存在至少一个合法的三角形牧场。

【输入】

第一行包含 N。

以下 N 行每行包含两个整数 X i X_i Xi Y i Y_i Yi,均在范围 − 1 0 4 … 1 0 4 -10^4\dots 10^4 104104 之内,描述一个栅栏柱子的位置。

【输出】

由于面积不一定为整数,输出栅栏柱子可以围成的合法三角形的最大面积的两倍

【输入样例】

4
0 0
0 1
1 0
1 2

【输出样例】

2

【代码详解】

在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
int x[105], y[105];
int main()
{
    int n;
    cin >> n;
    for (int i=1; i<=n; i++)
        cin >> x[i] >> y[i];
    int ans = 0;
    for (int i=1; i<=n; i++)  //A
        for (int j=1; j<=n; j++)  //B
            for (int k=1; k<=n; k++)  //C
                if (x[i]==x[k] && y[j]==y[i])
                    ans = max(ans, abs(y[i]-y[k])*abs(x[i]-x[j]));
    cout << ans;
    return 0;
}

【运行结果】

4
0 0
0 1
1 0
1 2
2
  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值