合并表记录C语言解法
合并表记录
http://www.nowcoder.com/questionTerminal/de044e89123f4a7482bd2b214a685201
HJ8合并表记录C语言解法
其实就是简单的排序+去重,只不过要多一组数据
没有大神们好用,白给。
python好像有个map能用,非常简单,不过我不太会。
马上机考,祝我好运。
机考就会一个题,还只通过了83.3%。
#include<stdio.h> int N; int a,b,i,j,k; int c[1000],d[1000],asb[1000],asb1[1000]; int main () { scanf("%d\n",&N);//获取行数 for(i = 0;i < N; ++i) { scanf("%d %d",&a,&b); c[i] = a; d[i] = b; } for(i = 0; i <= N ;i++) { for(j = 1; j<N;j++) { if(c[j-1] >= c[j]) { asb[j] = c[j]; asb1[j]= d[j]; c[j] = c[j-1]; d[j] = d[j-1]; c[j-1] = asb[j]; d[j-1] = asb1[j]; } } //printf("%d\n",c[i]); } for(i = 0; i < N ;i++) { for(j = i+1; j<N;j++) { if(c[i] == c[j]) { d[i] = d[i]+d[j]; for(k = j;k<N;k++) { d[k] = d[k+1]; c[k] = c[k+1]; } N--; j--; } } printf("%d %d\n",c[i],d[i]); } }