# 문제
# 풀이
각각 N회 반복하는 이중 for문을 생각하면 최대 1억회 반복하게 된다
T의 범위는 나와있지 않아 T까지 포함한 시간 복잡도는 잘 모르겠지만
N이 최대 10,000이기 때문에 O(N^2) = 1억회 즉, 대략 1초
시간 제한이 따로 안나와있어서 일단 이 방법으로 해결했음
#include <iostream>
#include <fstream>
using namespace std;
int first[10000];
int second[10000];
ifstream fin("cross.inp");
ofstream fout("cross.out");
int main() {
int T, N, num;
fin >> T;
for (int i = 1; i <= T; i++) {
int cnt = 0;
int visit[10000] = { 0, };
fin >> N;
for (int j = 0; j < N; j++) fin >> first[j];
for (int j = 0; j < N; j++) fin >> second[j];
for (int j = 0; j < N; j++) {
for (int k = 0; k < N; k++) {
num = second[k];
if (first[j] == num) {
visit[num - 1] = 1;
break;
}
else if (!visit[num - 1]) cnt++;
}
}
fout << "Case " << i << ": " << cnt << "\n";
}
}
'Algorithm > 🏫assignment' 카테고리의 다른 글
# Interesting Gain (0) | 2022.09.11 |
---|---|
# 계단 오르기 (0) | 2022.09.09 |
# Spin And Slide (0) | 2022.09.04 |
# Test (0) | 2022.09.03 |
# Bowling 점수 계산하기 (0) | 2022.07.09 |
댓글