Advertisement
randykaur

Two characters - WA)solution

Jan 25th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.20 KB | None | 0 0
  1. //https://www.hackerrank.com/challenges/two-characters/problem
  2. // Wrong answer - How can I fix this?
  3.  
  4. #include <bits/stdc++.h>
  5.  
  6. using namespace std;
  7.  
  8. bool check(string s){
  9.     for(int i=1;i<s.size();i++)
  10.         if(s[i] == s[i-1])
  11.             return false;
  12.     return true;
  13. }
  14. int main() {
  15.    
  16.     string S;
  17.     cin >> S;
  18.  
  19.     bool ap[300];
  20.     memset(ap,false,sizeof ap);
  21.    
  22.     int diff_letters = 0;
  23.     for(int i=0;i<S.size();i++)
  24.         if(!ap[ S[i]-'a' ]){
  25.             ap[ S[i]-'a' ] = true;
  26.             diff_letters++;
  27.         }
  28.    
  29.     //   cout << diff_letters << endl;
  30.     if(diff_letters == 1){
  31.         printf("0\n");
  32.         return 0;
  33.     }
  34.  
  35.     int ans=0;
  36.     for(int i=0; i<26; i++){
  37.     for(int j=0; j<26; j++){
  38.         if( (ap[i] && ap[j]) && (i != j) ){
  39.             //  cout << i << " " << j << endl;
  40.  
  41.             string new_s = "";
  42.             for(int k=0; k<S.size(); k++)
  43.                 if( (S[k] == i+'a') || (S[k] == j+'a') )
  44.                     new_s += S[k];
  45.                
  46.             if(check(new_s)){
  47.                 int tam = new_s.size();
  48.                 ans = max(ans,tam);  
  49.             }
  50.         }
  51.     }}
  52.     printf("%d\n",ans);
  53.   return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement