题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3363

题目解析:
首先如果两种水果可以平分,肯定在2刀内;

推理:
冰糖葫芦上有两种水果 H和T,当且仅当H和T都为偶数时才能将冰糖葫芦分成两份,每份两种水果H、T个数相等;

我们把冰糖葫芦首尾连接,看成一个圆,圆上有H、T两种,当H、T都为偶数时,我们只看其中一种水果 假设看H,圆上有偶数个H,将圆劈成两半 每一半H个数相等,则T一定也相等(T=N/2 - H, N为总个数)。如果将圆劈成两半经过连接的首尾则只需要一刀,否则两刀。
程序先看H、T是否偶数;
再看一刀是否可以;
再看两刀,遍历中间N/2个水果中何时水果H个数为一半

#include<iostream>
using namespace std;
int main(){int n;char str[100005];int hh[100005];while(cin>>n && n){cin>>str;if(n%2!=0){cout<<-1<<endl; //总数非偶数continue;} int count=0;for(int i=0;i<n;i++){if(str[i]=='H') count++;hh[i]=count; //hh数组存储到第i+1个水果时H累计个数}if(count%2!=0){cout<<-1<<endl; //H个数非偶数continue;}if(hh[n/2-1]==count/2){cout<<1<<endl<<n/2<<endl;continue;}for(int i=1;i<n/2;i++){if(hh[i+n/2-1]-hh[i-1]==count/2){ //到第i+n/2个水果H的个数减去到第i个水果H的个数,//即第i+1到第i+n/2, n/2个水果的这一段cout<<2<<endl<<i<<" "<<i+n/2<<endl;break;}}        }}

HDU 3363 冰糖葫芦相关推荐

  1. HDU题目分类大全【大集合】

    基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.  1032.1037.1040.1048.1056.105 ...

  2. 转载:Hdu 题目分类

    原址点击 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056. ...

  3. hdu与poj题目分类

    POJ 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(po ...

  4. hdu HDOJ 题目分类(转)

    动态规划:2037 2054 2084 hdu题目分类(转) http://apps.hi.baidu.com/share/detail/17053154 1001 整数求和 水题 1002 C语言实 ...

  5. HDU——1106排序(istringstream的使用、STLvector练习)

    排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  6. hdu 5438 Ponds 拓扑排序

    Ponds Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/contests/contest_showproblem ...

  7. HDU 1248 寒冰王座(全然背包:入门题)

    HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...

  8. hdu 1312 Red and Black 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 第二条深搜,题目并不难,但是做了我好久好久,由于一个细节,让我赌上了一个晚上的时间. 题目大意: ...

  9. HDU 1429 胜利大逃亡(续) (BFS+位压缩)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others)  ...

最新文章

  1. (0047)iOS开发之nil/Nil/NULL的区别
  2. java 详解 搭建 框架_在Eclipse中搭建Struts框架过程详解
  3. ASP.NET页面刷新的几种实现方法
  4. Error starting userland proxy: listen tcp 0.0.0.0:5601: bind: address already in use
  5. [蓝桥杯]算法提高 金属采集(树形dp)
  6. 基本程序 打印Scala的Hello World
  7. [恢]hdu 2074
  8. spring之jdbcTemplate的增删改查操作--不使用配置文件
  9. xhprof 性能分析工具
  10. Precious Plastic 中文手册 V1.0
  11. 学校老师要求微信群里的家长下载钉钉建群,解散微信群,钉钉是不正当商业竞争吗?
  12. CPDA数据分析师证书含金量高吗?
  13. React初识--必知必会的jsx核心语法
  14. 线上知识付费潮流中的青年人:寻找消费与求知的平衡点
  15. Windows MySQL 下载及安装教程
  16. 工艺角,PVT, TT,SS,FF,FS,SF
  17. PHP实现RSA算法
  18. Vue 引入 icon 图标
  19. MySQL Status意义
  20. MS SQL 2008 Express 下载

热门文章

  1. qml+QQuickPaintedItem笛卡尔坐标和屏幕坐标的转换
  2. kali操作系统安装
  3. 杨冬敏老师:老板懂点财务知识,看懂三张报表
  4. 游戏开发15课 微信小游戏自审报告
  5. 无线图传发射模块静电浪涌测试
  6. WebRTC Native M96收集网卡地址信息以及筛选过滤VPN网络(CreateNetworks、FilterNetworks)
  7. Java中八大基本数据类型详解
  8. backbone php,backbone-phpRestful并行
  9. 收集回顾 SharePoint 历史版本比较 SharePoint Server 2019
  10. pytorch 安装笔记