原题:http://acm.hdu.edu.cn/showproblem.php?pid=2034
思路:
这个题我隔了很久才回来写,主要是因为不会用stl库里面的轮子,只能排序做了(要多读书!
题目本身不难,代码写得有点丑,主要是罚时太长了很难受
源代码:
#include <cstdio> #include <string> #include <cstring> int main() { int m,n,t; while (scanf("%d%d",&m,&n)!=EOF) { if (m==0&&n==0) break; int a[10000],b[10000],c[1000],i,j,l=0,hy=0; for (i=0;i<m;i++) scanf("%d",&a[i]); for (i=0;i<n;i++) scanf("%d",&b[i]); for (i=0;i<m;i++) { int p=0; for (j=0;j<n;j++) if (a[i]==b[j]) p=1; if (p==0) { c[hy++]=a[i]; l++; } } for(i=0;i<l;i++) for(j=0;j<l-1-i;j++) if(c[j]>c[j+1]) { t=c[j+1]; c[j+1]=c[j]; c[j]=t; } for(i=0;i<l;i++) printf("%d ",c[i]); if(l!=0) printf("\n"); if(l==0) printf("NULL\n"); } }