반응형
https://www.acmicpc.net/problem/1091
BOJ 1091 - 카드 섞기 (C++)
#include <iostream>
#include <vector>
using namespace std;
int Ans;
int N;
vector<int> P(100);
vector<int> S(50);
void Shuffle()
{
for (int i = 0; i < N; i++)
{
P[N + S[i]] = P[i];
}
for (int i = 0; i < N; i++)
{
P[i] = P[N + i];
}
}
bool ChkFinished()
{
for (int i = 0; i < N; i++)
{
if (i % 3 != P[i])
{
return false;
}
}
return true;
}
void getInput()
{
cin >> N;
for (int i = 0; i < N; i++)
{
cin >> P[i];
}
for (int i = 0; i < N; i++)
{
cin >> S[i];
}
}
//void Print(int i)
//{
// cout << i << "번째" << endl;
// for (int i = 0; i < N*2; i++)
// {
// cout << P[i] << " ";
// }
// cout << endl;
//}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
getInput();
bool isFinished = ChkFinished();
while (!isFinished)
{
Ans += 1;
Shuffle();
isFinished=ChkFinished();
if (Ans > 1e7)
{
Ans = -1;
break;
}
}
cout << Ans;
return 0;
}
반응형
'개발 > 알고리즘 & 자료구조' 카테고리의 다른 글
BOJ 2638 - 치즈 (C++) (0) | 2021.09.25 |
---|---|
BOJ 1103 - 피보나치 함수 (C++) (0) | 2021.09.24 |
[프로그래머스] 예산 (C++) (0) | 2021.09.10 |
[2018 카카오 코딩테스트 1차] 캐시 (C++) (0) | 2021.09.09 |
[코딩테스트][2019 카카오 개발자 겨울 인턴십] 튜플 (C++) (2) | 2021.09.04 |