Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Start Time:
- #include<iostream>
- #include<vector>
- #include<algorithm>
- #include<cstdio>
- #include<cstring>
- #include<string>
- #include<utility>
- using namespace std;
- #define ll long long
- #define pb push_back
- #define pii pair<int,int>
- #define pll pair<ll,ll>
- #define ff first
- #define ss second
- #define MX 1000000
- #define endl "\n"
- #define mod 1000000007
- #define eps 1/1000000000
- #define pi acos(-1.0)
- #define PQ priority_queue
- #define mem(a,b) memset(a, b, sizeof(a))
- #define bug(a) cout<<#a<<":"<<a<<endl
- #define all(x) (x).begin(),(x).end()
- #define allr(x) (x).rbegin(),(x).rend()
- #define double_print(x,a) cout<<fixed<<setprecision(x)<<a<<endl
- struct node
- {
- bool endmark;
- node* next[10+1];
- node()
- {
- endmark = false;
- for(int i=0; i<10; i++)
- next[i]= NULL;
- }
- } *root;
- void insert(string str, int len)
- {
- node* cur = root;
- for(int i=0; i<len; i++)
- {
- int id = str[i] - '0';
- if(cur->next[id] == NULL)
- cur->next[id] = new node();
- cur = cur->next[id];
- }
- cur->endmark = true;
- }
- bool search (string str, int len)
- {
- node* cur = root;
- for(int i=0; i<len; i++)
- {
- int id = str[i] - '0';
- if(cur->endmark)
- return false;
- cur = cur->next[id];
- }
- return cur->endmark;
- }
- void del(node* cur)
- {
- for(int i=0; i<10; i++)
- if(cur->next[i])
- del(cur->next[i]);
- delete(cur);
- }
- int main()
- {
- //ios::sync_with_stdio(0); //cin.tie(0);
- string s;
- vector<pair<int,string>>v;
- root=new node();
- int tc=1;
- while(cin>>s)
- {
- if(s=="9")
- {
- sort(allr(v));
- int k=0;
- for(auto it:v)
- {
- if(!search(it.ss,it.ff))
- {
- k=1;
- break;
- }
- }
- if(k)
- cout<<"Set "<<tc<<" is not immediately decodable\n";
- else
- cout<<"Set "<<tc<<" is immediately decodable\n";
- del(root);
- v.clear();
- root=new node();
- tc++;
- continue;
- }
- int len=s.size();
- insert(s,len);
- v.pb({len,s});
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement