人见人爱A-B
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 55406 Accepted Submission(s): 15613
呵呵,很简单吧?
如果n=0并且m=0表示输入的结束,不做处理。
3 3 1 2 3 1 4 7 3 7 2 5 8 2 3 4 5 6 7 8 0 0
2 3 NULL
//标准的水题,不过第一次还是没过,原因是直接把集合运算看成了数字运算了。。。。想的太简了,郁闷。。
#include <fstream>
#include<iostream>
#include<cmath>
#include <cstdlib>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
int n,m;
while(cin>>n>>m)
{ int a[101],b[101];
if(n==0&&m==0)
break;
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<m;i++)
cin>>b[i];
for(int i=0;i<n;i++)//判断a数组内是否有与b数组相同的元素
for(int j=0;j<m;j++)
{
if(a[i]==b[j])
a[i]=-99999;
}
sort(a,a+n);//排序
int flag=0;
for(int i=0;i<n;i++)//筛选
{
if(a[i]==-99999)
continue;
else
{
cout<<a[i]<<" ";
flag=1;
}
}
if(flag==0)//输出
cout<<"NULL\n";
else
cout<<endl;
}
return 0;
}