fork(2) download
  1. #include<iostream>
  2. #include<algorithm>
  3. #include<vector>
  4. #include<string>
  5. #include<cmath>
  6. #include<cstdlib>
  7. #include<map>
  8. #include<cstdlib>
  9. #include<cstring>
  10. #include<functional>
  11. #include<numeric>
  12. #include<sstream>
  13.  
  14.  
  15. #define M 1000000009
  16. #define pb push_back
  17. #define vr vector
  18. #define fr(i,to) for(ll i=0;i<((ll)(to));i++)
  19. #define stc(a,b) a(b.begin(),b.end())
  20.  
  21. using namespace std;
  22.  
  23. typedef int ll;
  24.  
  25.  
  26. int main(){
  27. vr<string> s;
  28. vr<string> d;
  29. vr<string> c;
  30. vr<int> diff;
  31. vr<int> vv;
  32. ll notc,nogg,rem,iv,p,rv,fg=0,sum=0;
  33. ll noc,k=0,nod=0,add;
  34. string st,dt,cd,ks,cc;
  35.  
  36.  
  37. cin>>notc;
  38. while(notc--){
  39. cin>>nogg;
  40. noc=nogg-1;
  41. rem=noc/1;
  42. fr(i,noc){
  43. cin>>st;
  44. s.pb(st);
  45. cin>>dt;
  46. d.pb(dt);
  47. cin>>cc;
  48. ks=cc.substr(0,cc.length()-1);
  49. istringstream convert(ks);
  50. convert>>add;
  51. sum+=add;
  52. c.pb(cc);
  53. }
  54. fr(i,noc){
  55. fr(j,noc){
  56. if(s[i]!=d[j])
  57. {
  58. nod+=1;
  59. }
  60. }
  61. iv=nod/1;
  62. diff.pb(iv);
  63. nod=0;
  64. }
  65. fr(i,noc){
  66. if(diff[i]==noc)
  67. {
  68. p=i/1;
  69. rv=p/1;
  70. vv.pb(rv);
  71. }
  72. }
  73. rem-=1;
  74. while(rem>0){
  75. fr(i,noc){
  76. if(s[i]==d[p])
  77. {
  78. p=i/1;
  79. rv=p/1;
  80. vv.pb(rv);
  81. }
  82. }
  83. rem-=1;
  84. }
  85. fr(i,noc){
  86. fg=vv[i]/1;
  87. cout<<s[fg]<<d[fg]<<c[fg]<<endl;
  88. }
  89. cout<<sum<<"$"<<endl;
  90.  
  91. }
  92.  
  93. }
  94.  
Time limit exceeded #stdin #stdout 5s 101312KB
stdin
Standard input is empty
stdout
Standard output is empty