MMASS - Mass of Molecule
Tác giả: hieult
Ngôn ngữ: C++
#include <stdio.h>
//#include <conio.h>
#include <string.h>
int T(char a)
{
int t;
if(a=='C')
t=12;
else if(a=='H')
t=1;
else if(a=='O')
t=16;
return t;
}
main()
{
char s[10001];
int n,m,k,x,N=0,a[10001];
scanf("%s",s);
k=strlen(s);
for(int i=0;i<k;i++)
if(s[i]=='C'||s[i]=='H'||s[i]=='O')
{
int n=0;m=0,x=0;
if(s[i+1]!='C'&&s[i+1]!='H'&&s[i+1]!='O'&&s[i+1]!='('&&s[i+1]!=')'&&(i+1)!=k)
x=T(s[i])*(s[i+1]-48);
else x=T(s[i]);
for(int j=0;j<i;j++)
{
if(s[j]=='(')
n++;
else if(s[j]==')')
n--;
}
for(int j=i+1;j<k;j++)
{
if(n==0)
break;
else if(s[j]=='(')
{
n++;
m++;
}
else if(s[j]==')')
{
n--;
if(m>0)
m--;
else if(s[j+1]!='C'&&s[j+1]!='H'&&s[j+1]!='O'&&s[j+1]!='('&&s[j+1]!=')'&&(j+1)!=k)
x*=(s[j+1]-48);
}
}
N+=x;
}
printf("%d",N);
//getch();
}