Advertisement
TimxAG

Untitled

Dec 11th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. int INF=2147483647;
  5. int inf=-2147483648;
  6. int mod=1000000007;
  7. #define read(x) cin >> x;
  8. #define fo(i,n) for(i=0;i<n;i++)
  9. #define one(x) cout<<(x)<<endl;
  10. #define two(a,b) cout<<(a)<<" "<<(b)<<endl;
  11. #define three(a,b,c) cout<<(a)<<" "<<(b)<<" "<<(c)<<endl;
  12. #define four(a,b,c,d) cout<<(a)<<" "<<(b)<<" "<<(c)<<" "<<(d)<<endl;
  13. #define write(a,i) cout << a[i] << " ";
  14. int main()
  15. {
  16. stack<char> stack;
  17. int sym;
  18. int n,i;
  19. bool flag = true;
  20. scanf("%d\n", &n);
  21. for (i = 0; i < n; ++i) {
  22. sym = getc(stdin);
  23. if (sym == '{' || sym == '(' || sym == '[')
  24. stack.push(sym);
  25. if(flag)
  26. switch (sym)
  27. {
  28. case'}':
  29. if (stack.size() > 0 && stack.top() == '{')
  30. stack.pop();
  31. else {
  32. flag = false;
  33. }
  34. break;
  35. case']':
  36. if (stack.size() > 0 && stack.top() == '[')
  37. stack.pop();
  38. else {
  39. flag = false;
  40. }
  41. break;
  42. case')':
  43. if (stack.size() > 0 && stack.top() == '(')
  44. stack.pop();
  45. else {
  46. flag = false;
  47. }
  48. break;
  49. }
  50. }
  51. if ((stack.size() == 0) && (flag)) {
  52. cout << "Ja" << endl;
  53. }
  54. else {
  55. cout << "Nein" << endl;
  56. }
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement