Skip to content

Commit 64be134

Browse files
authored
Add files via upload
1 parent d9d0572 commit 64be134

File tree

2 files changed

+109
-0
lines changed

2 files changed

+109
-0
lines changed

abhiophobia.cpp

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#include<iostream>
2+
#include<cstring>
3+
using namespace std;
4+
int mem[6101][6101];
5+
int palin(string&,int,int);
6+
int main()
7+
{
8+
int t;
9+
cin>>t;
10+
for(int i=0;i<t;i++)
11+
{
12+
string s;
13+
cin>>s;
14+
memset(mem , -1 , sizeof mem);
15+
cout<<palin(s,0,s.size()-1)<<endl;
16+
}
17+
return 0;
18+
}
19+
20+
int palin(string &s,int i,int j)
21+
{
22+
if(i>=j)
23+
return 0;
24+
else{
25+
if(mem[i][j]!=-1)
26+
{
27+
return mem[i][j];
28+
}
29+
else if(s[i]!=s[j])
30+
{
31+
return mem[i][j]=min(palin(s,i,j-1),palin(s,i+1,j))+1;
32+
}
33+
else{
34+
return mem[i][j]=palin(s,i+1,j-1);
35+
}
36+
}
37+
}

seinfeld.cpp

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
#include<iostream>
2+
#include<string>
3+
using namespace std;
4+
5+
int count(string&);
6+
int main()
7+
{
8+
string s;
9+
cin>>s;
10+
int i=1;
11+
while(s[0]!='-')
12+
{
13+
cout<<i<<". "<<count(s)<<endl;
14+
cin>>s;
15+
i++;
16+
}
17+
return 0;
18+
}
19+
20+
int count(string &str)
21+
{
22+
for(int i=0;i<str.size()-1;i++)
23+
{
24+
if(str[i]=='{' && str[i+1]=='}')
25+
{
26+
//cout<<str<<" "<<str.size()<<" "<<i<<"\t";
27+
str.erase(i,2);
28+
if(i==0)
29+
i--;
30+
else
31+
i-=2;
32+
//cout<<str<<" "<<str.size()<<" "<<i<<endl;
33+
}
34+
if(str.size()==0)
35+
return 0;
36+
}
37+
int c=0;
38+
for(int i=0;i<str.size()-1;i++)
39+
{
40+
if(str[i]=='{' && str[i+1]=='{')
41+
{
42+
c++;
43+
str.erase(i,2);
44+
i--;
45+
if(i!=0)
46+
i--;
47+
//cout<<str<<" "<<str.size()<<" "<<i<<endl;
48+
}
49+
else if(str[i]=='}' && str[i+1]=='}')
50+
{
51+
c++;
52+
str.erase(i,2);
53+
i--;
54+
if(i!=-1)
55+
i--;
56+
//cout<<str<<" "<<str.size()<<" "<<i<<endl;
57+
}
58+
if(str.size()==0)
59+
return c;
60+
}
61+
int k=str.size()/2;
62+
for(int i=1;i<=str.length()/2;i++)
63+
{
64+
if(str[k-i]=='{' && str[k+i-1]=='{')
65+
c++;
66+
else if(str[k-i]=='}' && str[k+i-1]=='}')
67+
c++;
68+
else if(str[k-i]=='}' && str[k+i-1]=='{')
69+
c+=2;
70+
}
71+
return c;
72+
}

0 commit comments

Comments
 (0)