Advertisement
Guest User

Untitled

a guest
Nov 24th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. ifstream fin("reteta.in");
  5. ofstream fout("reteta.out");
  6. char s[1001],dom[103][23],c[103],t[103];
  7. int a[1003];
  8.  
  9. int main()
  10. {
  11. int i,k=0,ok,j,nr,d,ogl=0,timp=0,q=0,l;
  12. fin.getline(s,1001);
  13. for(i=0;s[i];)
  14. {
  15. if(s[i]=='(') i++;
  16. else if(s[i]==' ') i++;
  17. else if('a'<=s[i] and s[i]<='z')
  18. {
  19. nr=0;
  20. ok=0;
  21. q=1;
  22.  
  23. while('a'<=s[i] and s[i]<='z')
  24. c[nr++]=s[i++];
  25. t[0]=0;
  26. strncat(t,c,nr);
  27. for(j=1;j<=k and ok==0;j++)
  28. if(strcmp(dom[j],t)==0)
  29. {
  30. ok=1;
  31. d=j;
  32. }
  33. if(ok==0)
  34. {
  35. k++;
  36. for(l=0;l<nr;l++)
  37. dom[k][l]=t[l];
  38. d=k;
  39. }
  40. }
  41. else if('0'<=s[i] and s[i]<='9')
  42. {
  43. ogl=0;
  44. while('0'<=s[i] and s[i]<='9')
  45. {
  46. ogl=ogl*10+(s[i]-48);
  47. i++;
  48. }
  49. if(q==1)
  50. a[d]+=ogl;
  51. else timp+=ogl;
  52. }
  53. else if(s[i]==')')
  54. {
  55. i++;
  56. q=0;
  57. }
  58. }
  59. for(i=1;i<k;i++)
  60. for(j=i+1;j<=k;j++)
  61. if(strcmp(dom[i],dom[j])>0)
  62. {
  63. swap(dom[i],dom[j]);
  64. swap(a[i],a[j]);
  65. }
  66. fout<<timp<<"\n";
  67. for(i=1;i<=k;i++)
  68. fout<<dom[i]<<" "<<a[i]<<"\n";
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement