fork download
  1. //TESTE (WAR GAME):
  2.  
  3. //6
  4. //253 5896 2345 112 2221 221 --> 112 221 2221 2345 253 5896
  5.  
  6. //5
  7.  
  8. //1234 5434 7834 1034 3434 --> 1034 1234 3434 5434 7834
  9.  
  10. //4
  11.  
  12. //1231 1234 1232 1233 --> 1233 1234 1234 1234
  13.  
  14.  
  15. #include <iostream>
  16. using namespace std;
  17.  
  18. int main() {
  19. int n, v[1000], aux;
  20. cin >> n;
  21. for (int i = 1; i <= n; ++i) { // Citim sirul
  22. cin >> v[i];
  23. }
  24. for (int i = 1; i < n; ++i) {
  25. for (int j = i + 1; j <= n; ++j) { // Cautam elemente mai mici decat v[i]
  26. if (v[i] % 100 > v[j] % 100) { // Am gasit un element mai mic dupa ultimile 2 cifre
  27. aux = v[i];
  28. v[i] = v[j];
  29. v[j] = aux;
  30. }
  31. }
  32. }
  33.  
  34. for (int i = 1; i < n; ++i) {
  35. for (int j = i + 1; j <= n; ++j) {
  36. if (v[i] % 100 == v[j] % 100 && v[i] / 100 > v[j] / 100) {// Caz special unde elementele sunt egale
  37. // Punem valoarea din v[j] in v[i] si din v[i] in v[j]
  38. aux = v[i];
  39. v[i] = v[j];
  40. v[j] = aux;
  41. }
  42. }
  43. }
  44. for (int i = 1; i <= n; ++i) { // Afisam sirul
  45. cout << v[i] << ' ';
  46. }
  47. return 0;
  48. }
Success #stdin #stdout 0s 5316KB
stdin
6
253 5896 2345 112 2221 221
stdout
112 221 2221 2345 253 5896