Codeforces Round #282 (Div. 1) A. Treasure
来源:互联网 发布:工兵铲推荐 知乎 编辑:程序博客网 时间:2024/05/21 11:09
乱搞题 细节略多,WA了好几发,故mark。代码一开始没有构思好,故比较冗长。
#include <cstdio>#include <cstring>#include <stack>using namespace std;#define mp make_pair#define pci pair<char, int>const int maxn=100005;int len, cntstar, cntbra;char temp[maxn];bool vis[maxn];pci p;stack<pci> q;stack<char> q2;stack<int> res;void print() { for (int i=0; i<len; i++) printf("%d%c", vis[i], i==len-1?'\n':' ');}void solve() { len=strlen(temp); for (int i=0; i<len; i++) if (temp[i]=='(') q.push(mp(temp[i], i)); else if (temp[i]==')') { if (q.empty()) { puts("-1"); return; } vis[q.top().second]=true; q.pop(); } for (int i=0; i<len; i++) if (vis[i]==false) { if (temp[i]=='('||temp[i]=='#') q2.push(temp[i]); if (temp[i]=='(') cntbra++; else if (temp[i]=='#') cntstar++; } if (cntstar>cntbra) { puts("-1"); return; } if (q2.top()=='(') { puts("-1"); return; } int det=0; while (!q2.empty()) { char temp=q2.top(); q2.pop(); if (temp=='#') { int cnt=0; while (!q2.empty()&&q2.top()=='(') { q2.pop(); cnt++; } if (cnt+det<=0) { det--; det+=cnt; res.push(1); } else { res.push(cnt+det); det=0; } } } if (det<0) { puts("-1"); return; } while (!res.empty()) { int temp=res.top(); res.pop(); printf("%d\n", temp); }}int main(){ //freopen("in.txt", "r", stdin); scanf("%s", temp); solve(); return 0;}
0 0
- Codeforces Round #282 (Div. 1) A. Treasure
- Codeforces Round #282 (Div. 1) A. Treasure
- Codeforces 494 A. Treasure && Codeforces Round #282 (Div. 1)
- Codeforces Round #282 (Div. 1) A. Treasure (贪心)
- Codeforces Round #282 (Div. 2) Treasure
- Codeforces Round #282 (Div. 2) A - Digital Counter B - Modular Equations C - Treasure
- Codeforces Round #282 (Div. 1) A
- Codeforces Round #282 (Div. 2) B. Modular Equations&C. Treasure
- Codeforces Round #282 (Div. 2) C. Treasure 贪心
- Codeforces Round #185 (Div. 1) C. Fetch the Treasure
- CodeForces 506 Div.1 A. Mr. Kitayuta, the Treasure Hunter
- Educational Codeforces Round 23 A. Treasure Hunt
- Educational Codeforces Round 23#A. Treasure Hunt
- Codeforces Round #282 (Div. 2) A B
- Codeforces Round #202 (Div. 1) A. Mafia
- Codeforces Round #212 (Div. 1) <A>
- Codeforces Round #215 (Div. 1) <A-B>
- Codeforces Round #232 (Div. 1) <A>
- 已知一对夫妇有两个孩子,如果知道有一个是男孩,那么两个都是男孩的概率?
- 【闲的蛋疼】深圳联通4G网络下,测试对比本地、香港、Los Angeles、San Francisco的连接速度
- eclipse neon安装svn4.0插件报错
- 通讯录
- HDU 5319 Painter(暴力枚举)
- Codeforces Round #282 (Div. 1) A. Treasure
- 16. 3Sum Closest
- 【字符串】C++字符串编程小结
- ROS学习之 roslaunch
- iOS 判断 当前ViewController是否正在显示
- 快速排序_泰山鲁用村里抢媳妇的故事说明这个算法
- 自定义Toast的显示时长
- leetcode_c++:链表:Rotate List(061)
- hrbust 1584 青蛙过河【二分查找+贪心】