fork download
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. const int MAX_LENGTH = 1000;
  6. const int TEN = 10;
  7. int freq[MAX_LENGTH];
  8. int freqN[MAX_LENGTH];
  9. int main() {
  10. int n;
  11. cin >> n;
  12. int copyN = n;
  13. while (copyN) {
  14. ++freqN[copyN % TEN];
  15. copyN /= TEN;
  16. }
  17. int desInN = 0, frecventa = 0;;
  18. for (int i = 0; i < TEN; ++i) {
  19. if (freqN[i] > frecventa) {
  20. desInN = i;
  21. frecventa = freqN[i];
  22. }
  23. // cout << freqN[i] << " ";
  24. }
  25. //cout << desInN <<" < DES \n";
  26.  
  27. copyN = n;
  28. // cout <<" \n"<< n << "<- N\n";
  29. char linie[MAX_LENGTH];
  30. cin.getline(linie, MAX_LENGTH);
  31. //string linie;
  32. //getline(cin,linie);
  33. int numbCreate = 0;
  34. while (cin.getline(linie, MAX_LENGTH)) {
  35. //int length = linie.size();
  36. //cout << length << "()\n";
  37. int length = strlen(linie);
  38. for (int i = 0; i < length; ++i){
  39. if (linie[i] >= 48 && linie[i] <= 57) {
  40. //cout << linie[i] <<"<-\n";
  41. //cout << linie[i] << " " << numbCreate << " <-1\n";
  42. numbCreate = numbCreate * TEN + linie[i] - 48;
  43. ++freq[numbCreate % TEN];
  44. //cout << numbCreate << " \n";
  45. }
  46.  
  47. }
  48. }
  49. // cout << numbCreate << " <- numbCreate\n"; // 234
  50. int copyNumbCreate = numbCreate;
  51. int reverse = 0, newN = 0;
  52. while (copyN) { // 4232
  53. for (int i = 0; i < TEN; ++i) {
  54. // cout << freq[i] <<" ";
  55. if (copyN % TEN == i && freq[i] != 0) {
  56. reverse = reverse * TEN + i;
  57. --freq[i];
  58. }
  59.  
  60. }
  61. newN = newN * TEN + copyN % TEN;
  62. copyN /= TEN;
  63.  
  64. }
  65. memset(freq, 0, TEN * sizeof(freq[TEN]));
  66. while ( copyNumbCreate) {
  67. ++freq[copyNumbCreate % TEN];
  68. copyNumbCreate /= TEN;
  69. //cout << freq[i] << "<>";
  70. }
  71. int desInNewNo = 0, aparitii = 0;
  72. for (int i = 0; i < TEN; ++i) {
  73. if (freq[i] >= aparitii) {
  74. aparitii = freq[i];
  75. desInNewNo = i;
  76. }
  77. // cout << freq[i] << "<>";
  78. }
  79. //cout << " \n" << newN << " "<< reverse << " <- reverse \n";
  80. //cout << " \n" << desInNewNo << "<- desInNewNo "<< reverse << " <- reverse \n";
  81.  
  82. if (newN == reverse) {
  83. cout << reverse << " Final 1";
  84. } else {
  85. cout << desInN << " " << desInNewNo << " Final 2";
  86. }
  87. // cout << numbCreate << " " << reverse << " " << copyN;;
  88. return 0;
  89. }
Success #stdin #stdout 0.01s 5324KB
stdin
1234
4^0lll&4
-32

asdfghj99(()1
stdout
4321 Final 1