Description:
Bush身居要职,公事繁忙。为此,他不得不将所有要做的事(数量为n)记录下来(当然对于每件事,他们只需要记录下它的特征)同时记录下已做的事(数量为m),以此确定还有哪些事有待去做。现在,假设你就是他的秘书,,你需要确定他还有哪些事没做。
Input:
第一行一个整数N,说明有N个测试样例。对于每个测试样例,首先一行包含两个整数n,m.后面还有n+m行数据。 每行都只有一个整数,表示公事的特征(前n行为所有要做的事的特征,后m行为已做的事的特征)。
对于每个输入的数有:0 < input_number < 10000000
Output:
对于每个测试样例,按从小到大的顺序输出待做公事的特征。
Sample Input:
2
4 2
232
12
344
1111
232
12
3 1
222
22
2
22
Sample Output:
344
1111
2
222
1 #include <stdio.h> 2 int main() 3 { 4 int N; 5 scanf("%d",&N); 6 while(N--)//多组输入 7 { 8 int n,m; 9 scanf("%d %d",&n,&m); 10 int a[10000],b[10000],c[10000],q; 11 int k=0,i,j,t; 12 for(i=0;i<n+m;i++) 13 { 14 scanf("%d",&a[i]);//输入所有的事和做过的事; 15 if(i>=n) 16 b[i-n]=a[i];//将后m个输入数据给数组b;数组b:做过的事; 17 } 18 for(i=0;i<n;i++) 19 { 20 for(j=0;j<m;j++) 21 { 22 if(a[i]==b[j]) 23 a[i]=0; 24 } 25 if(a[i]>0) 26 { 27 c[k]=a[i];//数组c,没有做过的事
28 k++; 29 } 30 } 31 for(i=0;i<k-1;i++) 32 { 33 t=i; 34 for(j=i+1;j<k;j++) 35 if(c[t]>c[j]) 36 t=j; 37 q=c[t]; 38 c[t]=c[i]; 39 c[i]=q; 40 }//将没有做过的事从小到大用选择法排序; 41 for(i=0;i<k;i++) 42 { 43 printf("%d\n",c[i]);//输出没做的事排序后的顺序; 44 } 45 } 46 return 0; 47 }
浙公网安备 33010602011771号