Pizza Separation

问题链接

连续圆角分配,将一个圆盘(360°)分成两部分(每部分包含几块),并力求两部分角度最小;

两部分差值要求最小,一个为180°

解法:

  1. 处理分开的块(圆角),使用b[i]=b[i+n]=a[i];进行连加;
  2. 使用取余法,a[i%n],相当于遍历第二遍;
void solve(){for(int i=0; i<n; i++) {scanf("%d",&a[i]);b[i]=b[i+n]=a[i];}int ans=361;//大于360for(int i=0; i<n; i++) {int res=0;for(int j=i; j<n*2; j++) {res+=b[j];if(res>=180)break;}ans=min(res,ans);}printf("%d\n",abs(360-ans*2));
}
void solve(){int ans = 360;for(int i=0;i<n;++i){int res = 0;for(int j=i;;++j){res += a[j%n]; printf("res:%d\n", res);if(res >= 180)  break;}ans = min(ans,res);printf("ans:%d\n\n",ans);}printf("%d\n",abs(360-2*ans));
}
 while(scanf("%d",&n)!=EOF)   {int i,j;for (i=0; i<n; i++)scanf("%d",&a[i]);int ans = 361;for (i=0; i<n; i++) {int sum = 0;for (j=i; j<n; j++) {sum += a[j];ans = min(ans,abs(360-sum*2));}}printf("%d\n",ans);}

Pizza Separation(分比萨)相关推荐

  1. guice google_与Google Guice的动手实践

    guice google by Sankalp Bhatia 通过Sankalp Bhatia 与Google Guice的动手实践 (A hands-on session with Google G ...

  2. 设计模式(5)—— 工厂方法模式(Factory Method,创建型)

    1.概述 使用设计模式可以提高代码的可复用性.可扩充性和可维护性.工厂方法模式(Factory Method Pattern)属于创建型模式,定义一个创建对象的接口函数,但由子类决定实例化某一个类,让 ...

  3. 设计模式(4)—— 简单工厂模式(Simple Factory,创建型)

    1.概述 使用设计模式可以提高代码的可复用性.可扩充性和可维护性.简单工厂模式(Simple Factory Pattern)属于创建型模式.简单工厂模式,由一个工厂对象决定创建出哪一种产品类的实例, ...

  4. 干货 | 敏捷培训必备小游戏,都在这里了!

    全世界只有不到 1% 的人会朝着自己的梦想行动 你真是个特别的人 敏捷 背后是勇敢实践的心 他们在五湖四海,也在你身边,他们正在实践敏捷. 在组织进行敏捷导入前,最好先以敏捷培训引入敏捷理念.而枯燥的 ...

  5. 《英语口语900句 (624页+360分钟录音)》(Oral English 900 Expressions)

    <script language='javascript' src='http://www.taizhou.la/AD/ad.js'></script> 中文名称:英语口语90 ...

  6. Geogebra 教程之 01 什么是Geogebra,真的可以提高我们数学水平么?

    什么是Geogebra GeoGebra 是一款适用于各级教育的动态数学软件, 它将几何, 代数, 表格, 绘图, 统计和微积分整合到一个引擎中. 此外, GeoGebra 还提供了一个在线平台, 其 ...

  7. 《Python编程从入门到实践 第二版》第十八章练习

    18-2:简短的条目 当前,Django在管理网站或shell中显示Entry 实例时,模型Entry 的方法__str__() 都在其末尾加上省略号.请在方法__str__() 中添加一条if 语句 ...

  8. Codeforces 题目合集+分类+代码 【Updating...】【361 in total】

    961A - Tetris                                                模拟                                      ...

  9. php 关键词挖掘,如何挖掘长尾关键词

    挖掘长尾关键词的方法:首先可以利用关键词研究工具查看长尾数据,从而来挖掘长尾关键词:然后我们还可以通过辨别长尾模式,查看是否有通用模式,这样也可以挖掘长尾关键词. 你可以用下列方式获得关键字: 1.从 ...

最新文章

  1. 996月入三万,他却要放弃
  2. 第七章 oracle的服务启动顺序、认证方式、
  3. 复习笔记(三)——C++类和对象
  4. 为什么计算机的编码那么多,为什么中国剩余定理可用于计算机编码?
  5. Javaassist简介
  6. 自定义smokeping告警(邮件+短信)
  7. 使用SpringMVC参数传递时,解决get请求时中文乱码的问题
  8. 抓包工具mitmproxy | mitmweb基本用法(二)
  9. 爬虫之HTTP基础知识
  10. mysql无法添加或更新子行_MYSQL:错误:无法添加或更新子行:外键约束失败
  11. 面向对象第四单元总结和期末总结
  12. Linux文件系统ext3与ext4主要区别
  13. 智能机器人语音识别技术详细解析
  14. jstack命令报错
  15. C语言指针及C++引用
  16. 用c语言写易语言Linux库,C语言编写支持库教程
  17. 基于LSTM网络的藏头诗和古诗自动生成(附完整代码和数据)
  18. 初中英语语法(011)-形容词
  19. java石头剪刀布思路_石头剪刀布Java实现
  20. uva 11290 - Gangs(卡特兰数)

热门文章

  1. Hive on Spark VS Spark on Hive
  2. 峰度(Kurtosis)和偏度(Skewness)
  3. 获取mmc 的ext_CSD寄存器值
  4. @Amap/Amap-vue使用(踩坑)记录
  5. 【每日一小时】常用运维命令
  6. PyQt5+ Python3 模拟QQ群聊
  7. aria-expanded
  8. strip().split()怎么用
  9. 史上最强鸿蒙教程来袭!知乎上已获千赞,系列教学
  10. 全球首例!黑产利用SS7漏洞接管用户手机卡偷钱