//2015广东工业大学新生赛决赛
//Problem I: Stubird说这是水题
//思想很简单,只要有相同的数,就可以用同一竖直列来,不同的话就需要分别的两竖直列来表示
#include <stdio.h>
#include <stdlib.h>
int main()
{
int T,i,j,m,n,a[205],b[205];
scanf("%d",&T);
while(T--)
{
int minn=0;
scanf("%d %d",&m,&n);
for(i=0; i<m; i++)
{
scanf("%d",&a[i]);
minn+=a[i];//所有的加起来,下面同理
}
for(i=0; i<n; i++)
{
scanf("%d",&b[i]);
minn+=b[i];
}
for(i=0; i<m; i++)
for(j=0; j<n; j++)
{
if(a[i]==b[j]&&a[i]!=-1)
{
minn-=a[i];//有相同就减去
a[i]=b[j]=-1;//赋值-1,防止重减
}
}
printf("%d\n",minn);
}
return 0;
}
原题地址http://gdutcode.sinaapp.com/problem.php?cid=1027&pid=82015广东工业大学新生赛决赛 Problem I: Stubird说这是水题
最新推荐文章于 2022-12-03 02:40:44 发布
本文介绍了解决一个关于利用竖直列表示相同数值问题的算法,通过阅读本教程,读者可以掌握如何高效地解决此类问题。主要思想是在输入的两个数组中,如果找到相同的元素,则可以将它们视为同一竖直列,从而减少最终计数。
2965

被折叠的 条评论
为什么被折叠?



