题解 | #合并表记录#
合并表记录
http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
#include <hash_map>
#include <iostream>
using namespace std;
int main()
{
int a;
int b[1000];
while(cin>>a)
{
for(int i=0;i<2*a;i++)
{
cin>>b[i];
}
for(int i=0;i<2*a-2;i=i+2)
{
for(int j=i+2;j<2*a;j=j+2)
{
if(b[i]==b[j])
{
b[i+1]=b[i+1]+b[j+1];
for(int m=j;m<2*a-2;m++)
{
b[m]=b[m+2];
}
a--;
j=j-2;
}
}
}
for(int i=0;i<2*a-2;i=i+2)
{
for(int j=i+2;j<2*a;j=j+2)
{
if(b[i]>b[j])
{
int c=b[i];
b[i]=b[j];
b[j]=c;
c=b[i+1];
b[i+1]=b[j+1];
b[j+1]=c;
}
}
}
for(int i=0;i<2*a;i=i+2)
{
cout<<b[i]<<' '<<b[i+1]<<'\n';
}
return(0);
}
}
#include <iostream>
using namespace std;
int main()
{
int a;
int b[1000];
while(cin>>a)
{
for(int i=0;i<2*a;i++)
{
cin>>b[i];
}
for(int i=0;i<2*a-2;i=i+2)
{
for(int j=i+2;j<2*a;j=j+2)
{
if(b[i]==b[j])
{
b[i+1]=b[i+1]+b[j+1];
for(int m=j;m<2*a-2;m++)
{
b[m]=b[m+2];
}
a--;
j=j-2;
}
}
}
for(int i=0;i<2*a-2;i=i+2)
{
for(int j=i+2;j<2*a;j=j+2)
{
if(b[i]>b[j])
{
int c=b[i];
b[i]=b[j];
b[j]=c;
c=b[i+1];
b[i+1]=b[j+1];
b[j+1]=c;
}
}
}
for(int i=0;i<2*a;i=i+2)
{
cout<<b[i]<<' '<<b[i+1]<<'\n';
}
return(0);
}
}