题解 | #合并表记录#
合并表记录
http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include<stdio.h> int main(void){
signed int n,a[500][2];
while(scanf("%d",&n)!=EOF)
{
for(int i=0;i<500;i++)
{
a[i][0]=-1;
}
int temp1,temp2,flag;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i][0]);
scanf("%d",&a[i][1]);
}
for(int i=0;i<n;i++)
{
temp1=11111112;
for(int j=i;j<n;j++){
if(temp1>a[j][0])
{
temp1=a[j][0];
flag=j;
}
}
temp2=a[i][0];
temp1=a[i][1];
a[i][0]=a[flag][0];
a[i][1]=a[flag][1];
a[flag][0]=temp2;
a[flag][1]=temp1;
}
for(int i=1;i<n+1;i++)
{
if(a[i][0]!=a[i-1][0])
{
printf("%d %d\n",a[i-1][0],a[i-1][1]);
}
else
{
a[i][1]+=a[i-1][1];
}
}
}
return 0;
}
加入11111111 8例子后,不超时基础C语言解法