• 题意:给你n个整数点,要你以这些点为顶点,围成两个长方形,这两个长方形不能相交(两个长方形的边及顶点不能相接触)。满足以上条件时,输出两个长方形包围的总面积,否则输出“imp”
  • 算法:几何
  • 思路:对角线上的两点可以确定一个长方形。n方遍历所有可能构成对角线的两点(x和y均不相同),确定一个矩形后,再n方遍历得到另一个不同的矩形。再算出两个矩形所包围的总面积。确定其是否相交可以用:if(!(x2<x3 || y2<y3 || x1>x4 || y1>y4)) return -1;

#include <bits/stdc++.h>
#define pi acos(-1)
#define fastcin ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
const int INF = 0x3f3f3f3f;
const LL ll_INF = 1LL << 62;//4e18 ~= 2^62
const int maxn =10000 + 10;
const LL mod = 1e9+7;string s;
int node[3][2]={2, 5, 5, 0, 7, 5};
vector<int> vec[2];
int jiaozheng(int p1, int p2)
{if(s.size()==2 ) return 0;int cnt=0;for(int i=0; i<s.size(); i++){if(i==p1 || i==p2) continue;if(s[i]=='0') cnt++;else return cnt;}return INF;
}int main()
{fastcin;cin >> s; int len = s.size();int minn = INF;int lc1=-1, lc2=-1;for(int i=len-1; i>=0 && lc2==-1; i--){if(s[i]=='0') lc1==-1?(lc1=i):(lc2=i);} if(lc1!=-1 && lc2!=-1) minn = (len-1+len-2)-(lc1+lc2);for(int i=0; i<3; i++){vec[0].clear(); vec[1].clear();for(int j=0; j<2; j++){for(int k=len-1; k>=0; k--){if(s[k]-'0' == node[i][j]){vec[j].push_back(k);}}}for(int j=0; j<vec[0].size(); j++){for(int k=0; k<vec[1].size(); k++){int tmp = abs(len-1-vec[1][k]);tmp += len-2 - vec[0][j] + (vec[0][j] > vec[1][k] ? 1 : 0) + jiaozheng(vec[0][j], vec[1][k]);minn = min(minn, tmp);}}}printf("%d\n", minn>=INF?-1:minn);}

The E-pang Palace HDU - 5128相关推荐

  1. HDU 5128 The E-pang Palace 【暴力】

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5128 题意:给出N个点,由这些点构成两个矩形,矩形是平行于x轴的,而且不能相交不能相邻(共用同一边), ...

  2. HDU 5128 The E-pang Palace

    //去他妈的枚举,还是计算几何靠谱,暴力方便!!!!!! //强烈建议比赛时候用计算几何暴力判断合法性 1 //去他妈的枚举,还是计算几何靠谱,暴力方便!!!!!! 2 //强烈建议比赛时候用计算几何 ...

  3. HDU.5128 The E-pang Palace

    [题意] N<=30个点,求两个不touch,不cross的矩形,并求出最大面积和,拼不出两个矩形输出imp. [解题方法] 暴力对角线两个点,再暴力另外一条对角线两个点,接下来就是对合法性和相 ...

  4. hdu 5128 The E-pang Palace (有技巧的暴力)

    this question can be find here I 've done this question twice and I didn't make it the last time and ...

  5. HDOJ 5128 The E-pang Palace

    这题虽然是暴力,但是我确实学到了....每句对角线的高端做法. 参考博客: https://blog.csdn.net/ck_boss/article/details/41720811 我自己的代码: ...

  6. HDU 5721 Palace(平面最近点对(分治))

    http://acm.hdu.edu.cn/showproblem.php?pid=5721 n个点,去掉一个点的情况下,最近距离平方之和. 平面最近点对模版题,先求出最近距离,然后找到是哪两个点,然 ...

  7. HDU 5025:Saving Tang Monk(BFS + 状压)

    http://acm.hdu.edu.cn/showproblem.php?pid=5025 Saving Tang Monk Problem Description <Journey to t ...

  8. HDU 4121 Xiangqi 模拟题

    题目: http://acm.hdu.edu.cn/showproblem.php?pid=4121 首先对标题赞一个,非要叫 "Xiangqi" 而不是 "中国象棋&q ...

  9. HDU 4389 - X mod f(x)

    题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4389 2012多校,第9场,1010 . 问题是,询问区间内 存在多少个 哈沙德数(Harshad ...

最新文章

  1. linux deepin是基于linux mint修改
  2. fireworks做图的最高长度
  3. matlab gpu deep learning_在Matlab中使用tensorflow (1)
  4. 三星Android5.0系统以上 相册中选择相片后 图片旋转了90度问题
  5. nand ubi -2 ubi管理下的SLC nand
  6. linux应用系统使用率,Linux性能优化实战:系统CPU使用率高,但为啥找不到高的应用(06)...
  7. github和gitlab仓库一起使用
  8. 【译】在 Linux 上不安装 Mono 构建 .NET Framework 类库
  9. python颜色表_Python+matplotlib绘制不同大小和颜色散点图实例
  10. 分配任务的代码PHP,php计划任务的示例代码分享
  11. 点扩散函数(PSF)的模型及求取
  12. 使用浏览器监控页面变化,语音播报变化内容
  13. tar 压缩文件夹到指定的目录
  14. 健身教练教你跑步减肥的正确方法
  15. 各类dp的总结+例题
  16. python——遥感影像分块
  17. php中以双下划线打头的作用
  18. 元素显示类型-快元素、行内元素、行内快元素、盒子模型以及元素类型相互转换
  19. psycopg2.errors.DatatypeMismatch: 错误: 无法实现外键约束 “sale_an_product_tax_id_fkey“
  20. 双臂二指魔方机器人的制作(三)--还原控制

热门文章

  1. FFmpeg[22] - 解决ffmpeg yasm not found, use --disable-yasm for a crippled build
  2. mysql1044错误代码_mysql出现1044错误怎么办
  3. linux常用的引导管理器,多重引导管理器Grub使用详解
  4. OC语言 实现十进制字符串转二进制
  5. 一个不错的金蝶KIS专业版条码扫描插件
  6. unable to access ‘https://github.com/XXX.git/‘: LibreSSL SSL_read: error:02FFF03C:system library:fun
  7. php落伍,一贴学会PHP 为落伍的MJJ们量身定做的教程
  8. 计算机网络——网际互连协议 IP
  9. (4.2万字,重启2020)“从零到部署”Vue全栈电商应用系列教程---正式完结
  10. 连续加班后的一些感想