Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct Date {
  5. int Day, Month, Year;
  6. };
  7.  
  8. int main() {
  9. int n, i;
  10. scanf("%d", &n);
  11. struct Date array[n], ans[n];
  12. int new_array[n][8];
  13. for (i = 0; i < n; ++i){
  14. scanf("%d %d %d", &array[i].Year, &array[i].Month, &array[i].Day);
  15. ans[i] = array [i];
  16. }
  17. for(i = 0; i < n; ++i) {
  18. new_array[i][0] = array[i].Year / 1000;
  19. new_array[i][1] = (array[i].Year / 100) % 10;
  20. new_array[i][2] = ((array[i].Year) / 10) % 10;
  21. new_array[i][3] = array[i].Year % 10;
  22. new_array[i][4] = (array[i].Month) / 10;
  23. new_array[i][5] = (array[i].Month) % 10;
  24. new_array[i][6] = (array[i].Day) / 10;
  25. new_array[i][7] = (array[i].Day) % 10;
  26. }
  27. for (i = 7; i >= 0; --i){
  28. int count[10] = {0}, j, l, k;
  29. for (j = 0; j < n; ++j) {
  30. k = new_array[j][i];
  31. count[k] += 1;
  32. }
  33. for (l = 1; l < 10; ++l) {
  34. count[l] += count[l - 1];
  35. }
  36. for (j = n - 1; j >= 0; --j) {
  37. k = new_array[j][i];
  38. l = count[k] - 1;
  39. count[k] = l;
  40. ans[l] = array[j];
  41. }
  42. }
  43. for (i = 0; i < n; ++i) {
  44. printf("%d %d %d\n", ans[i].Year, ans[i].Month, ans[i].Day);
  45. }
  46. return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement