Can Any one help me with my solution for
GARGOYLE problem
My Solution Accepted Solutions
essentially , I did the same thing that others have done , i.e. counting number of truths of true speaking people and equating it to their frequency , still getting wa. Any help will be appreciated .
During contest the solution randomly strucked my mind and I got an AC.
What I did was first making a vector<pair<int, string> > and counting the frequencies of every unique statement and storing in it as {frequency, statement}.
then sorting it according to frequency and then iterating from backwards.
Then for each statement i find the number of ‘T’ in it and compare it to it’s corresponding frequency.If it matches,I am printing the frequency.And if none ate true, print 0.
Man , That’s what I did !! But My solution is getting WA. Moreover , its pathetic to see solutions having O(n³) getting accepted !!!
What I did was this:
maintain an array pos, where pos[i] = 1 if for every j where arr[i][j] = 'T' then arr[j][i] should be ‘T’ as well.
then in for every person, we check that if j that he is declaring true must be possible, in other words, must not contradict himself.
And count maximum truth speaking people this way.
Code for Reference: Link
Time Complexity: O(n^2)