UVa10026 - Shoemaker's Problem

来源:互联网 发布:域名top 编辑:程序博客网 时间:2024/06/03 14:07

#include <stdio.h>#include <stdlib.h>#define N 1010int n;int t[N], s[N];int num[N];int cmp(const void *_p, const void *_q);int main(){    int iCase;    int i;#ifndef ONLINE_JUDGE    freopen("e:\\uva_in.txt", "r", stdin);#endif    scanf("%d", &iCase);    while (iCase--)    {        scanf("%d", &n);        for (i = 0; i < n; i++)        {            scanf("%d%d", &t[i], &s[i]);            num[i] = i;        }        qsort(num, n, sizeof(int), cmp);        for (i = 0; i < n; i++)        {            if (i)                printf(" ");            printf("%d", num[i] + 1);        }        printf("\n");        if (iCase)            printf("\n");    }    return 0;}int cmp(const void *_p, const void *_q){    int *p = (int *)_p;    int *q = (int *)_q;    int ans;    ans = s[*p] * t[*q] - s[*q] * t[*p];    if (ans > 0)        return -1;    else if (ans < 0)      return 1;    return *p - *q;}