2017-10-6模拟赛T1 手工(handicraft.*)
2024-08-26 14:09:19
题目
题解
题意很明显,就不讲了。
我们发现从一个A边形切出一个B边形有几种情况:
1. 得到一个(A-B+2)边形和一个B边形(直线过两顶点);
2. 得到一个(A-B+3)边形和一个B边形(直线过一顶点+一边);
3. 得到一个(A-B+4)边形和一个B边形(直线过两边)。
∴要从一个n边形切出p个m边形至少需要一个((p-1)(m-4)+m)边形(切(p-1)次,一次后变成1个m边形和1个(p-1)(m-4)+4=(p-2)(m-4)+m边形,...)
分情况讨论:(设X=(p-1)(m-4)+m)
①当n<X时,
若m=3,(p-1)(m-4)+m<0,不可能;
若m>3,我们可以每次从n边形中切出一个三角形来使n+1(情况3),直到n=X,再切(p-1)次就可以得到;
②当n=X时,切(p-1)次;
③当n>X时,先切出一个X边形(随你怎么切),再切(p-1)次,总共p次。
于是就欢乐地AK了。
代码
弱弱地问一句,这还需要代码吗?(逃)
最新文章
- Windows 版本的iTunes 修改iPhone的备份路径
- CentOS 6.5 升级 GCC 4.9.3
- php基础教程-输出Hello World
- 跟随标准与Webkit源码探究DOM -- 获取元素之getElementById
- BZOJ3796 : Mushroom追妹纸
- SELECT INTO和INSERT INTO SELECT
- JavaScript要点(十二) HTML DOM 事件
- NULL, nil, Nil详解
- tabhost中activity跳转动画不显示的解决办法
- 仿糯米弹框效果demo
- 由EmbeddedFileProvider构建的内嵌(资源)文件系统
- 编码器芯片MLX90363的使用
- K:java中正则表达式的使用说明及其举例
- sql优化------查询整个表按照某个字段排序后的前几条
- la 3938(未完成)
- 搭建 LAMP 环境
- ASP.NET Core读取AppSettings (转载)
- 牛客OI赛制测试赛2
- C# 使用委托实现多线程调用窗体的四种方式(转)
- H5页面meta标签小结:
热门文章
- Spring框架IOC和AOP的实现原理(概念)
- Project Euler 66: Diophantine equation
- 音频转化mp3 ,到底选vbr还是cbr
- iOS权限申请
- 批处理脚本+adb命令
- Expression基础体验
- .NetCore WebApi 添加 Log4Net
- css中position 定位的兼容性,以及定位的使用及层级的应用
- IIS Service Unavailable HTTP Error 503. The service is unavailable.
- javascript设计模式阅读后的感悟与总结