JZOJ 4.15 1666——【AHOI2009】飞行棋

2024-01-30 11:38

本文主要是介绍JZOJ 4.15 1666——【AHOI2009】飞行棋,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Description

  给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列。
  请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形。

Input

  第一行为正整数N,表示点的个数,接下来N行分别为这N个点所分割的各个圆弧长度

Output

  所构成不重复矩形的个数

Sample Input

8
1
2
2
3
1
1
3
3

Sample Output

3
Hint

  N<= 20
  这里写图片描述
  


由图可知,其实只是枚举可以形成几个平行四边形
也就是上底==下底,高相等的平行四边形或长方形。
我们可以用前缀合记录前i条弧的长度。
然后四重循环枚举四个顶点的位置,如果满足d[j]-d[i]==d[l]-d[k]&&d[k]-d[j]==abs(d[l]-d[i+n])(也就是判断上底==下底,高是否相等),则ans++


代码如下:

#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{int n,ans=0,a[21],d[41];scanf("%d",&n);for (int i=1;i<=n;i++) scanf("%d",&a[i]),d[i]=d[i-1]+a[i];for (int i=n+1;i<=2*n;i++) d[i]=d[i-1]+a[i-n];for (int i=1;i<=n;i++)for (int j=i+1;j<=n;j++)for (int k=j+1;k<=n;k++)for (int l=k+1;l<=n;l++)if (d[j]-d[i]==d[l]-d[k]&&d[k]-d[j]==abs(d[l]-d[i+n])) ans++;printf("%d\n",ans);return 0;
}

这篇关于JZOJ 4.15 1666——【AHOI2009】飞行棋的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/660115

相关文章

4.15 版本内核调用 init_timer()函数出错

linux/include/linux/timer.h4.15 之前版本struct timer_list {14 /*15 * All fields that change during normal runtime grouped to the16 * same cacheline17 */18 struct hl

Jzoj 条件循环(while,do while) 部分代码(共25题)

1020: 【入门】编程求1+3+5+...+n #include <bits/stdc++.h>using namespace std;int n, sum;int main() {scanf("%d", &n);for(int i=1; i<=n; i+=2){sum+=i;} printf("%d", sum);return 0;} 1012: 【入门】两数比大小 #i

Jzoj 二维数组部分代码(共13题)

2788: 【入门】二维数组的输入输出 边输入边输出 #include <bits/stdc++.h>using namespace std;int n, m, a[11][11];int main(){scanf("%d %d", &n, &m);//边输入边输出for(int i=1; i<=n; ++i){for(int j=1; j<=m; ++j){scanf("%d", &

手把手教你如果安装激活CleanMyMac X 4.15.6中文破解版

CleanMyMac X 4.15.6中文破解版可以为Mac腾出空间,软件已经更新到CleanMyMac X 4.15.6中文版支持最新版Macos 10.14系统。CleanMyMac X 4.15.6中文破解版具有一系列巧妙的新功能,可让您安全,智能地扫描和清理整个系统,删除大量未使用的文件,减小iPhoto图库的大小,卸载不需要的应用程序或修复那些开始工作不正常的应用程序,管理所有从一个

简单游戏制作——飞行棋

控制台初始化 int w = 50;int h = 50;ConsoleInit(w, h);static void ConsoleInit(int w, int h){//基础设置//光标的隐藏Console.CursorVisible = false;//舞台的大小Console.SetWindowSize(w, h);Console.SetBufferSize(w, h);}

最新情侣飞行棋高阶羞羞版,解锁私密版情侣小游戏,文末有福利!

今天要跟大家聊聊一种特别有意思的游戏——情侣飞行棋羞羞版。别急着脸红,这可是专为情侣设计的游戏,让你们在轻松愉快的氛围中,增进了解,加深感情。 谈恋爱,不就是两个人在一起,做些有趣的事情吗?但说实话,吃饭看电影这些常规操作,时间长了确实有点单调。 所以,阿星今天就来给你们介绍点新鲜的——情侣飞行棋羞羞版,让你们的恋爱生活多点趣味。 这游戏,简单说,就是飞行棋的升级版,专为情侣设计。里面有48

OpenCV学习(4.15) 基于 GrabCut 算法的交互式前景提取

1. 目标 在这一章当中 我们将看到 GrabCut 算法来提取图像中的前景我们将为此创建一个交互式应用程序。 2. 理论 GrabCut 算法由英国剑桥微软研究院 Carsten Rother,Vladimir Kolmogorov和Andrew Blake发明,并在他们的论文“GrabCut”:使用迭代图切割中提出。该算法需要最少的人工交互做前景提取,被称为 GrabCut。 从用户

CleanMyMac X 4.15.4破解版含2024最新CleanMyMac激活码

CleanMyMac X 4.15.4 for Mac 2023最新中文激活版是一款mac电脑清理工具,可让您快速轻松地个性化您的 Mac 操作系统。此外,它提高了系统速度和性能,帮助你远离黑客和垃圾文件。该程序具有尖端工具和功能,能够清除Mac系统中的任何故障和危险。除此之外,这款 Mac 清理软件可识别无效程序、加速系统并保持清理。 CleanMyMac X 4高级版是Mac 电

最新dofm飞行棋高阶版,分享情侣版飞行棋高级版和终极版

阿星今天要给大家带来一款甜蜜蜜的小游戏——情侣飞行棋。这不是普通的飞行棋,而是专为情侣设计的,让你们的感情在游戏中升温,擦出更多爱的火花。 准备好了吗?跟着阿星一起,咱们来看看这款软件的魅力所在! 首先,这款情侣飞行棋支持安卓和iOS版本,无论你是安卓党还是苹果粉,都能享受到这份乐趣。软件的界面设计简洁而不失浪漫,一看就知道是为情侣们量身打造的。阿星我可是一眼就爱上了这个界面,你们呢?

4.15 小tips

1.isdigit(c) 可以判断字符c是不是数字 2.char c; c-‘0’ 可以判断c是什么数字 3.peek,get,getline 4.两个浮点数比大小不能用==,要看他们的绝对值是否小于某个值