Intersection

SangJun·2022년 10월 21일
0

자료구조

목록 보기
3/18

입력 파일 a.txt 는 오름차순으로 정렬된 서로 다른 n 개의 정수들을 포함하고, 입력 파일 b.txt 는 오름차순으로
정렬된 서로 다른 m 개의 정수를 포함한다. 파일 a.txt 와 b.txt 에 포함된 정수의 교집합을 오름차순으로 화면에
출력하는 프로그램을 작성하여 제출하라.
단, 프로그램의 time complexity 를 마지막에 화면 출력하라. (예: O(nm) 또는 O(n+m) 등..)
파일 a.txt 는 다음과 같이 원소의 개수 n 과 n 개의 정수를 나열하고 있으며 각 정수는 1 개 이상의 space 로
구분된다.
n x1 x2 x3 x4 …. xn
파일 b.txt 는 다음과 같이 원소의 개수 m 과 m 개의 정수를 나열하고 있으며 각 정수는 1 개 이상의 space 로
구분된다.
m x1 x2 x3 x4 …. xm


#include <iostream>
#include <fstream>
using namespace std;

int main() {
   int num, num2; 
   int* v; int* v2;
   fstream inA("a.txt"); fstream inB("b.txt");

   inA >> num;

   v = (int*)malloc(sizeof(int) * num);

   inB >> num2;

   v2 = (int*)malloc(sizeof(int) * num);

   for (int i = 0; i < num; i++) {
       inA >> v[i];
   }


   for (int i = 0; i < num2; i++) {
       inB >> v2[i];
   }

   for (int i = 0; i < num; i++) {
       for (int j = 0; j < num2; j++) {
           if (v[i] == v2[j]) {
               printf("%d ", v[i]);
           }
       }
   }
   printf("\nO(nm)");

}
profile
Let there be bit.

0개의 댓글