HDOJ--2034 人見人愛A-B
阿新 • • 發佈:2019-01-30
2 3
NULL注意:從小到大按順序輸出。
import java.util.Scanner;
public class Gether {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
int m=sc.nextInt();
int ns[] = new int[n];
int ms[] = new int[m];
int cs[] = new int[n];
for(int i=0;i<ns.length;i++){
ns[i]=sc.nextInt();
}
for(int i=0;i<ms.length;i++){
ms[i]=sc.nextInt();
}
if(n==0&&m==0){
return;
}
if(n==0&&m!=0){
System.out.println("NULL");
continue;
}
if(n!=0&&m==0){
for(int i=0;i<n-1;i++){ //從小到大輸出結果
for(int j=i+1;j<n;j++){
if(ns[i]>ns[j]){
ns[i]=ns[i]^ns[j];
ns[j]=ns[i]^ns[j];
ns[i]=ns[i]^ns[j];
}
}
}
for(int i=0;i<ns.length;i++){
System.out.print(ns[i]+" ");
}
System.out.println();
continue;
}
int num=0;
for(int i=0;i<ns.length;i++){
int conunt=0;
for(int j=0;j<ms.length;j++){
if(ns[i]!=ms[j]){
conunt++;
}
if(conunt==m){
cs[num]=ns[i]; //在A集合中找到一個放入cs陣列中
num++;
}
}
}
for(int i=0;i<num-1;i++) { //將結果按重大到小的順序輸出
for(int j=i+1;j<num;j++){
if(cs[i]>cs[j]){
cs[i]=cs[i]^cs[j];
cs[j]=cs[i]^cs[j];
cs[i]=cs[i]^cs[j];
}
}
}
if(num==0){
System.out.println("NULL");
}else{
for(int i=0;i<num;i++){
System.out.print(cs[i]+" ");
}
System.out.println();
}
}
}
}