1. 程式人生 > >清北學堂模擬賽d3t4 a

清北學堂模擬賽d3t4 a

一個點 scan names alt char pop cnblogs name str

技術分享

分析:很水的一道題,就是用棧來看看是不是匹配就好了,只是最後沒有判斷棧是否為空而WA了一個點,以後做題要註意了.

#include <bits/stdc++.h>

using namespace std;

stack<int> ss;

char s[100010];
int sizee;
bool flag = true;

int main()
{
    freopen("a.in","r",stdin);
    freopen("a.out","w",stdout);
    scanf("%s",s + 1);
    sizee = strlen(s + 1
); for (int i = 1; i <= sizee; i++) { if (s[i] == ( || s[i] == ) || s[i] == [|| s[i] == ] || s[i] == {||s[i] == }) { if (s[i] == ( || s[i] == [|| s[i] == {) { if (s[i] == () ss.push(
1); else if (s[i] == [) ss.push(2); else if (s[i] == {) ss.push(3); } else
{ int t = ss.top(); ss.pop(); if (s[i] == ) && t != 1) { flag = false; break; } else if (s[i] == ] && t != 2) { flag = false; break; } else if (s[i] == } && t != 3) { flag = false; break; } } } } if (flag && ss.empty()) printf("OK\n"); else printf("Wrong\n"); return 0; }

清北學堂模擬賽d3t4 a