台州学院ACM c语言问题


题目:台州学院acm平台,第3106题贫富差距
这题怎么用指针做?
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<sstream>
#include<cstring>
#include<math.h>
#include<stdio.h>
#include<map>
#include<set>
#include<stack>
using namespace std;
struct Data{
int idx,m,sum;
int *num;
}data[10010];
int comp(Data a,Data b){
if(a.sum==b.sum)
return a.idx<b.idx;
return a.sum>b.sum;
}
int main(){
int n,i,j;
while(scanf("%d",&n)!=EOF){
for(i=0;i<n;i++){
data[i].idx=i;
scanf("%d",&闭告data[i].m);
data[i].sum=0;
if(data[i].m){
data[i].num=new int[data[i].m];
for(j=0;j<data[i].m;j++){
scanf("%d"轿信明,&data[i].num[j]);
data[i].sum+=data[i].num[j];
}
}
}
sort(data,data+n,comp);
for(i=0;i<n;i++){
if(data[i].m){
if(data[i].sum){
printf("%d:",data[i].idx+1);
for(j=0;j<data[i].m;j++)
printf(" %d",data[i].num[j]);
printf("\n");
}
delete(data[i].num);
}
}
printf("坦返\n");
}
return 0;
}

参考这个AC代码哈。