Advertisement
a53

tabel1_eu

a53
Feb 5th, 2017
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. #include <fstream>
  2. #include <cstring>
  3. using namespace std;
  4. ifstream f("tabel1.in");
  5. ofstream g("tabel1.out");
  6. short v[10];
  7.  
  8. int main()
  9. {
  10. int n,val,i;
  11. char c;
  12. short TA[256];
  13. for(i=0;i<256;++i)
  14. TA[i]=i;
  15. f>>n;
  16. for(i=0;i<n;++i)
  17. f>>c,f.get(),f>>val,TA[(int)c]=val;
  18. f.get();
  19. int s=0;
  20. short nr;
  21. while(f>>c)
  22. {
  23. if(isalpha(c))
  24. nr=TA[(int)c],s+=nr;
  25. else
  26. v[TA[c-'0']]=1;
  27. }
  28. g<<s<<'\n';
  29. nr=0;
  30. for(i=0;i<10;++i)
  31. if(v[i])
  32. ++nr;
  33. if(nr==0)
  34. {
  35. g<<0;
  36. return 0;
  37. }
  38. n=nr/2;
  39. if(nr%2==0)
  40. {
  41. for(i=9;n;--i)
  42. if(v[i])
  43. g<<i,--n;
  44. n=nr/2;
  45. for(i=0;n;++i)
  46. if(v[i])
  47. g<<i,--n;
  48. }
  49. else
  50. {
  51. int ultimul;
  52. for(i=9;n;--i)
  53. if(v[i])
  54. g<<i,--n,ultimul=i-1;
  55. i=0;
  56. while(v[i]==0)
  57. ++i;
  58. g<<i;
  59. int primul=i+1;
  60. for(i=primul;i<=ultimul;++i)
  61. if(v[i])
  62. g<<i;
  63. }
  64. return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement