fork download
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <string>
  4. #include <vector>
  5. #include <algorithm>
  6. using namespace std;
  7.  
  8. bool comp(string a,string b)
  9. {
  10. return a.size()<b.size();
  11. }
  12.  
  13. int main()
  14. {
  15. vector<string> v;
  16. string w;
  17. int ind=1;
  18. while(cin>>w)
  19. {
  20. v.clear();
  21. do
  22. {
  23. v.push_back(w);
  24. }while(cin>>w&&w!="9");
  25. sort(v.begin(),v.end(),comp);
  26. bool valid=true;
  27. for(int i=0;i<v.size()-1&&valid;i++)
  28. for(int j=i+1;j<v.size()&&valid;j++)
  29. {
  30. if(v[j].substr(0,v[i].size())==v[i])
  31. valid=false;
  32. }
  33. if(valid)
  34. printf("Set %d is immediately decodable\n",ind++);
  35. else
  36. printf("Set %d is not immediately decodable\n",ind++);
  37. }
  38. return 0;
  39. }
Success #stdin #stdout 0s 3484KB
stdin
01
10
0010
0000
9
01
10
010
0000
9
stdout
Set 1 is immediately decodable
Set 2 is not immediately decodable