Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct Date {
- int Day, Month, Year;
- };
- int main() {
- int n, i;
- scanf("%d", &n);
- struct Date array[n], ans[n];
- int new_array[n][8];
- for (i = 0; i < n; ++i){
- scanf("%d %d %d", &array[i].Year, &array[i].Month, &array[i].Day);
- ans[i] = array [i];
- }
- for(i = 0; i < n; ++i) {
- new_array[i][0] = array[i].Year / 1000;
- new_array[i][1] = (array[i].Year / 100) % 10;
- new_array[i][2] = ((array[i].Year) / 10) % 10;
- new_array[i][3] = array[i].Year % 10;
- new_array[i][4] = (array[i].Month) / 10;
- new_array[i][5] = (array[i].Month) % 10;
- new_array[i][6] = (array[i].Day) / 10;
- new_array[i][7] = (array[i].Day) % 10;
- }
- for (i = 7; i >= 0; --i){
- int count[10] = {0}, j, l, k;
- for (j = 0; j < n; ++j) {
- k = new_array[j][i];
- count[k] += 1;
- }
- for (l = 1; l < 10; ++l) {
- count[l] += count[l - 1];
- }
- for (j = n - 1; j >= 0; --j) {
- k = new_array[j][i];
- l = count[k] - 1;
- count[k] = l;
- ans[l] = array[j];
- }
- }
- for (i = 0; i < n; ++i) {
- printf("%d %d %d\n", ans[i].Year, ans[i].Month, ans[i].Day);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement