GYM 101149 H.Streets of Working Lanterns(贪心)
2017-03-19 10:18
330 查看
Description
给出一个括号序列,其中有一些问号可以填左括号或右括号,问是否存在一种填充方案使得该序列变成合法括号序列
Input
输入一个括号序列,串长不超过5e5
Output
如果存在合法填充则输出填充后的合法括号序列,否则输出Impossible
Sample Input
(?(?))
Sample Output
((()))
Solution
贪心,前面的括号填左括号,后面的括号填右括号,具体数量需要使得整体左括号等于右括号,填完之后判合法即可
Code
给出一个括号序列,其中有一些问号可以填左括号或右括号,问是否存在一种填充方案使得该序列变成合法括号序列
Input
输入一个括号序列,串长不超过5e5
Output
如果存在合法填充则输出填充后的合法括号序列,否则输出Impossible
Sample Input
(?(?))
Sample Output
((()))
Solution
贪心,前面的括号填左括号,后面的括号填右括号,具体数量需要使得整体左括号等于右括号,填完之后判合法即可
Code
#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<vector> #include<queue> #include<map> #include<set> #include<ctime> using namespace std; typedef long long ll; #define INF 0x3f3f3f3f #define maxn 555555 char s[maxn]; int main() { while(~scanf("%s",s)) { int n=strlen(s),num=0,res=0,cnt,gg=0; for(int i=0;i<n;i++) if(s[i]=='(')res++; else if(s[i]==')')res--; else num++; if(abs(res)>num||(num-abs(res))%2!=0)gg=1; else { cnt=(num-res)/2; res=0; for(int i=0;i<n;i++) { if(s[i]=='?') { if(cnt)s[i]='(',cnt--; else s[i]=')'; } if(s[i]=='(')res++; else { res--; if(res<0) { gg=1; break; } } } } if(gg)printf("Impossible\n"); else printf("%s\n",s); } return 0; }
相关文章推荐
- H. Streets of Working Lanterns----思维题
- GYM 101149 B.No Time for Dragons【二分+贪心】
- GYM 101149 B.No Time for Dragons(贪心)
- GYM 101149 C.Mathematical Field of Experiments(水~)
- GYM 101149 G.Of Zorcs and Axes(set)
- Codeforces gym 100685 E. Epic Fail of a Genie 贪心
- GYM 101149 J.Panoramic Photography(贪心)
- GYM 101149 K.Revenge of the Dragon(机智)
- Gym - 101102B B. The Little Match Girl 贪心、数论、分步
- Gym - 100187A A - Potion of Immortality —— 贪心
- Codeforces Round #437 (Div. 2 C. Ordering Pizza 贪心 only two types of pizza
- Codeforces Gym - 101341A Streets of Working Lanterns - 2 [贪心]
- 全网最详细使用Scrapy时遇到0: UserWarning: You do not have a working installation of the service_identity module: 'cannot import name 'opentype''. Please install it from ..的问题解决(图文详解)
- Working with Files(Chapter 16 of Programming in Objective-C 2.0)
- enter the world of net working programming , and be a expect of it
- Working on Cloud Platforms - The Key attributes of Cloud Computing Platform
- GYM 100030 G.Procrastination(贪心)
- Working with view controllers(Chapter 5 of The iPhone™ Developer’s Cookbook)
- uva 11292 - Dragon of Loowater(贪心)
- Codeforces Round #428 (Div. 2)-贪心&模拟-B. Game of the Rows