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();
  }
                       

Download