华师大 OJ 3036

题目:点击打开链接


这里比较麻烦的是,对于64位整数的输入输出在不同的编译器要用不同的方式。

总之gcc 用lld就通过了测试。




/******************************************************************************/
/*                                                                            */
/*  DON'T MODIFY main() function anyway!                                      */
/*                                                                            */
/******************************************************************************/

#include 
#include 

struct data{
    long long int digitalValue;
    int countNum1;
};


void init(){}
void solve(); /* write function solve() to process one case of the problem    */

int main()
{  int i,t; init();
   scanf("%d\n",&t);
   for (i=0;i y.digitalValue) return 1;
        else return -1;
    }
}

void solve(){
    long long int d;
    int count;
    int n;
    struct data record[100000];
    int i,k;
    scanf("%d",&n);
    for(k=0;k < n;k++){
        scanf("%lld",&(record[k].digitalValue));
        d = 1;
        record[k].countNum1=0;
        for(i = 0;i<64;i++){
            if( d & record[k].digitalValue) record[k].countNum1++;
            d = d<<1;
        }
    }

    qsort(record,n,sizeof(record[0]),cmp);
    for(i = 0; i < n-1;i++){
        printf("%lld ",record[i].digitalValue);
    }
    printf("%lld\n",record[i].digitalValue);
}







你可能感兴趣的:(华师大,OJ)