画画 模拟

描述:

durong拿起了apple pencil,开始在他的ipad上面学习画画。他随便画了很多个点,这时候他突然在想,这些点可以构成多少个矩形呢?

输入:

第一行一个整数n代表点的个数。

接下来n行每行两个整数x,y代表点的坐标。

n <= 1000

|x|, |y| <= 30000

输出:

输出一个整数,代表矩形的个数y

样例输入:

6
0 1
1 0
1 1
0 0
-1 0
0 -1

样例输出:

2

代码:

#include <iostream>
#include <cstring>
#include <cstdio>
#include <map>
#define INF 0x3f3f3f3f
using namespace std;
const int maxn = 1010;

pair<int, int> pii;
pair<pair<int, int>, int> piii;
map<pair<pair<int, int>, int>, int> mmap;
int X[maxn], Y[maxn];

int dis(int x1, int x2, int y1, int y2) {
    return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
}
int main(void) {
    int n,ans=0;
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> X[i] >> Y[i];
    for (int i = 1; i <= n; i++)
        for (int j = 1; j < i; j++) {
            pii = make_pair(X[i]+X[j], Y[i]+Y[j]);//对角线上的两个点(x总,y总)
            piii = make_pair(pii, dis(X[i],X[j],Y[i],Y[j]));//两个点距离相等
            ans+=mmap[piii];//如果两条对角线上面的性质相等,则可以判断这两条对角线可以形成一个矩形
        }
    cout<<ans<<endl;
    return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我是语言模型AI,没有绘画功能。但是,我可以向您介绍如何用MATLAB编程序模拟傅里叶技术绘制图像。 首先,您需要了解傅里叶技术的基本原理和公式。傅里叶技术可以将任何周期性信号分解成若干个正弦波的叠加,这些正弦波的频率、振幅和相位可以通过傅里叶变换计算得出。而傅里叶逆变换则可以将这些正弦波重构成原始信号。 在MATLAB中,可以使用fft函数进行傅里叶变换和ifft函数进行傅里叶逆变换。具体步骤如下: 1. 生成一个周期性信号,例如正弦波或方波,作为原始信号。 2. 对原始信号进行傅里叶变换,得到正弦波的振幅和相位。 3. 根据傅里叶变换结果,生成一系列正弦波,并将它们叠加起来,得到重构后的信号。 4. 将重构后的信号绘制成图像,可以使用plot函数或imshow函数。 以下是一个简单的MATLAB代码示例,用于生成一个正弦波的傅里叶变换图像: ```matlab % 生成一个正弦波信号 t = linspace(0, 2*pi, 1000); y = sin(t); % 对信号进行傅里叶变换 Y = fft(y); % 计算频率和振幅 Fs = length(t)/(t(end)-t(1)); % 采样频率 f = linspace(0, Fs/2, length(Y)/2+1); % 频率向量 amp = abs(Y(1:length(Y)/2+1)); % 振幅向量 % 绘制傅里叶变换图像 plot(f, amp); xlabel('频率(Hz)'); ylabel('振幅'); title('正弦波的傅里叶变换'); ``` 运行该代码可以得到一个傅里叶变换图像,显示出正弦波信号中各个频率分量的振幅大小。您可以根据需要修改代码,生成其他周期性信号的傅里叶变换图像,或者将多个正弦波叠加起来绘制出更复杂的图像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值