UVA 12166 Equilibrium Mobile (天平性质 + DFS)
来源:互联网 发布:王亚林扈华国现状知乎 编辑:程序博客网 时间:2024/05/16 04:47
思路:题目要求是求改变的最小,那么就需要选定一个基准砝码,选择方式如下:对于任何一个结点砝码m来说,如果选定为基准,那么整棵树的总重量为m*2^deepth (m<<deepth),其中deepth为此砝码的深度,deeoth从0开始;用map<long long ,int>映射重量为(m<<deepth)的个数int,个数最多者选定为基准砝码。
DFS 递归思想:将表达式分成两份(通过,)然后分别DFS向下递归求解
#include<iostream>#include<map>#include<cstring>using namespace std;map<long long ,int >map1;int tatal;string str;void dfs(int cur,int len,int deepth){ if(str[cur]=='['){ int temp=0; for(int i=cur+1;i<len;i++){ if(str[i]=='[')temp++; else if(str[i]==']')temp--; else if(str[i]==',' && temp==0){ dfs(cur+1,i-1,deepth+1); dfs(i+1,len-1,deepth+1); break; //找到中间点就退出了 } } } else { tatal++; long long sum=0; //一定要定义为long long 型,sum<<deepth 可能大于int类型值 while(cur<=len){ sum=sum*10+str[cur]-'0'; cur++; } map1[sum<<deepth]++; }}int main(){int T; scanf("%d",&T);while(T--){cin>>str;tatal=0;int len=str.length();dfs(0,len-1,0);int max1=0;for(map<long long ,int>::iterator iter=map1.begin();iter!=map1.end();iter++){max1=max(max1,iter->second);}printf("%d\n",tatal-max1);map1.clear();} return 0; }
1 0
- UVA 12166 Equilibrium Mobile (天平性质 + DFS)
- [UVa 12166] 修改天平(Equilibrium Mobile)
- UVA 12166 Equilibrium Mobile 修改天平
- UVa 12166 - Equilibrium Mobile <二叉树+DFS>
- 12166 - Equilibrium Mobile(DFS)
- UVa 12166 - Equilibrium Mobile
- UVa 12166 - Equilibrium Mobile
- UVa 12166 Equilibrium Mobile
- Uva - 12166 - Equilibrium Mobile
- Uva-12166 Equilibrium Mobile
- UVA - 12166 Equilibrium Mobile
- UVA 12166 Equilibrium Mobile
- UVa 12166 Equilibrium Mobile
- UVa 12166 Equilibrium Mobile
- UVA 12166-Equilibrium Mobile(推导结论)
- UVa12166 Equilibrium Mobile(修改天平)
- Uva-12166-Equilibrium Mobile(逆向思维, map)
- UVA 12166 Equilibrium Mobile (二叉树遍历+贪心)
- 微信支付相关流程(总结下最近做微信支付时需要注意的部分)
- Fragment在remove的时候崩溃,报IllegalStateException: Can not perform this action after onSavaInstanc异常
- Ubuntu 14.04挂载NTFS硬盘
- java类
- bzoj1406【数论】
- UVA 12166 Equilibrium Mobile (天平性质 + DFS)
- HTTP基本知识
- JavaScript停止冒泡和阻止浏览器默认行为
- Codeforces 763B-Timofey and rectangles (思维,四色定理)
- atitit 项目注册功能算法attilax总结.docx
- gdufe acm 1363 校庆嘉宾
- 团体程序设计天梯赛-练习集-L3-011. 直捣黄龙(最短路+计数)
- 3.Web Service 使用CXF开发客户端
- 【PAT】1090. Highest Price in Supply Chain