Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("reteta.in");
- ofstream fout("reteta.out");
- char s[1001],dom[103][23],c[103],t[103];
- int a[1003];
- int main()
- {
- int i,k=0,ok,j,nr,d,ogl=0,timp=0,q=0,l;
- fin.getline(s,1001);
- for(i=0;s[i];)
- {
- if(s[i]=='(') i++;
- else if(s[i]==' ') i++;
- else if('a'<=s[i] and s[i]<='z')
- {
- nr=0;
- ok=0;
- q=1;
- while('a'<=s[i] and s[i]<='z')
- c[nr++]=s[i++];
- t[0]=0;
- strncat(t,c,nr);
- for(j=1;j<=k and ok==0;j++)
- if(strcmp(dom[j],t)==0)
- {
- ok=1;
- d=j;
- }
- if(ok==0)
- {
- k++;
- for(l=0;l<nr;l++)
- dom[k][l]=t[l];
- d=k;
- }
- }
- else if('0'<=s[i] and s[i]<='9')
- {
- ogl=0;
- while('0'<=s[i] and s[i]<='9')
- {
- ogl=ogl*10+(s[i]-48);
- i++;
- }
- if(q==1)
- a[d]+=ogl;
- else timp+=ogl;
- }
- else if(s[i]==')')
- {
- i++;
- q=0;
- }
- }
- for(i=1;i<k;i++)
- for(j=i+1;j<=k;j++)
- if(strcmp(dom[i],dom[j])>0)
- {
- swap(dom[i],dom[j]);
- swap(a[i],a[j]);
- }
- fout<<timp<<"\n";
- for(i=1;i<=k;i++)
- fout<<dom[i]<<" "<<a[i]<<"\n";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement