华为机考HJ8合并表记录
其实就是简单的排序+去重,只不过要多一组数据
没有大神们好用,白给。
python好像有个map能用,非常简单,不过我不太会。
马上机考,祝我好运。
我机考回来了,就会一个题,哈哈哈。
#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]);
}
}
时间空间复杂度都很大,白给。
等一个大佬。