Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define endl "\n"
- #define pb push_back
- #define ppb pop_back
- #define ff first
- #define ss second
- typedef long long ll;
- typedef long double ld;
- typedef unsigned long long ull;
- typedef unsigned int ui;
- bool check(string &s) {
- vector<string> fname;
- vector<bool> fcloser;
- for(int i = 0; i < s.size(); ) {
- if(s[i] == '>') return false;
- if(s[i] == '<' && s[i + 1] != '/') {
- int p = i + 1;
- string name;
- while(s[p] != '>') {
- if(p == s.size()) return false;
- if(s[p] == '/') return false;
- if(s[p] == '<') return false;
- name += s[p];
- p++;
- }
- fname.pb(name);
- fcloser.pb(false);
- i = p + 1;
- } else
- if(s[i] == '<' && s[i + 1] == '/') {
- int p = i + 2;
- string name;
- while(s[p] != '>') {
- if(s[p] == '/') return false;
- if(s[p] == '<') return false;
- name += s[p];
- p++;
- if(p == s.size()) return false;
- }
- fname.pb(name);
- fcloser.pb(true);
- i = p + 1;
- }
- else i++;
- }
- stack<string> stname;
- stack<bool> stcloser;
- for(int i = 0; i < fname.size(); i++) {
- if(fcloser[i]) {
- if(stname.empty()) return false;
- if(stcloser.top()) return false;
- if(stname.top() != fname[i]) return false;
- stname.pop();
- stcloser.pop();
- } else {
- stname.push(fname[i]);
- stcloser.push(fcloser[i]);
- }
- }
- if(!stname.empty()) return false;
- return true;
- }
- ///Hi There!
- int main(int argc, char **argv)
- {
- ios_base::sync_with_stdio(false);
- cin.tie(nullptr);
- cout.tie(nullptr);
- #ifdef LOCAL
- freopen("input.txt", "r", stdin);
- freopen("output.txt", "w", stdout);
- #else
- freopen("input.txt", "r", stdin);
- freopen("output.txt", "w", stdout);
- #endif
- const string sl = "qwertyuiopasdfghjklzxcvbnm<>/";
- string s;
- cin >> s;
- for(int i = 0; i < s.size(); i++) {
- for(int j = 0; j < sl.size(); j++) {
- if(sl[j] == s[i]) continue;
- char t = s[i];
- s[i] = sl[j];
- if(check(s)) {
- cout << s;
- return 0;
- }
- s[i] = t;
- }
- }
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement