Neutralisation of charges

 Problem:-

In a parallel universe, there are not just two charges like positive and negative, but there are 

26

 charges represented by  

lower

 english alphabets.

Charges have a property of killing each other or in other words neutralizing each other if they are of same charge and next to each other.

You are given a string 

s

 where each 

si

 represents a charge, where 

0i|s|1

.

You need to output 

size

 of final string followed by string after which no neutralizing is possible.

Sample Input
12
aaacccbbcccd
Sample Output
2
ad
Time Limit: 1
Memory Limit: 256
Source Limit:
Explanation
aaacccbbcccd -> accd -> ad

Code:-

#include<stdio.h>
char stack[100000];
long int top=-1;
int main()
{
    long int n,i;
    char str[100027];
    scanf(“%ld”,&n);
    scanf(“%s”,str);
for(i=0;str[i];i++)
    {
if(top!=-1 && str[i]==stack[top])
        {
            top–;
        }
        else
        {
            top++;
            stack[top]=str[i];
        }
    }
    printf(“%ldn”,top+1);
    for(i=0;i<=top;i++)
     printf(“%c”,stack[i]);
    return 0;
}



Leave a Reply

Your email address will not be published.