uva12166 - Equilibrium Mobile
来源:互联网 发布:十年前的网络用语 编辑:程序博客网 时间:2024/06/16 20:38
#include<iostream>#include<algorithm>#include<string>#include<sstream>#include<vector>using namespace std;struct Node{ string s; unsigned long long t; Node *left, *right; Node():t(0), left(NULL), right(NULL){}};Node *root;int cnt1, cnt2, cnt;vector<unsigned long long> heavy;Node* newnode(){ return new Node;}void build(Node* a, int n){ int i, k=0; if(a->s.find("[") == string::npos){ stringstream ss(a->s); ss >> a->t; cnt1++; heavy.push_back(a->t << n); return ; } a->left = newnode(); for(i = 1; i < a->s.length(); i++){ if(a->s[i] == '[') k++; if(a->s[i] == ']') k--; if(!k && a->s[i] == ',') break; a->left->s += a->s[i]; } a->right = newnode(); for(i++; i < a->s.length()-1 ; i++) a->right->s += a->s[i]; build(a->left, n+1); build(a->right, n+1); return;}int main(){ int t; cin >> t; while(t--){ string s; cin >> s; cnt1 = 0; cnt2 = cnt = 1; root = newnode(); root ->s = s; build(root, 0); sort(heavy.begin(), heavy.end()); for(int i = 0; i < heavy.size()-1; i++){ if(heavy[i] == heavy[i+1]) cnt++; else cnt = 1; cnt2 = max(cnt2, cnt); } cout << cnt1 - cnt2 << endl; heavy.clear(); } return 0;}
0 0
- uva12166 - Equilibrium Mobile
- UVa12166 Equilibrium Mobile(修改天平)
- 天平&二叉树--uva12166 Equilibrium Mobile
- Uva12166 Equilibrium Mobile 【递归建树】【习题6-6】
- [刷题]算法竞赛入门经典(第2版) 6-6/UVa12166 - Equilibrium Mobile
- 习题6-6 修改天平(Equilibrium Mobile, NWERC 2008, UVa12166)
- UVa 12166 - Equilibrium Mobile
- UVa 12166 - Equilibrium Mobile
- 12166 - Equilibrium Mobile
- UVa 12166 Equilibrium Mobile
- 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
- HDU 2766 Equilibrium Mobile
- 开发中常见错误及解决
- andorid学习之利用HttpURLConnection对象实现文件下载
- 第十四章(二) 异步I/O
- JUnit4
- 单片机串口下载器
- uva12166 - Equilibrium Mobile
- AOP面向切面编程入门
- 情人节邮件营销:如何让用户甜蜜买单?
- Windows下查看进程与线程的相关工具
- Struts2学习1-10
- 读取*.cer公钥证书文件, 获取公钥证书信息
- sql server 创建组
- Android 上层wifi简单介绍及代码演示
- android如何为应用创建快捷方式