Algorithm π§π»π»/λ°±μ€(BOJ)
[λ°±μ€,c++] 22858λ² - μμ 볡ꡬ(small)
dkswnkk
2022. 9. 28. 00:05
λ¬Έμ
22858λ²: μμ 볡ꡬ (small)
μκ° μ νμλ $P_1, P_2, ..., P_N$ $N$κ°μ μΉ΄λκ° μλ€. 1λΆν° NκΉμ§ μκ° νλμ© μ‘΄μ¬νλ $D_1, D_2, ... , D_i , ... D_N$ κ° μλ€. μ΄λ $D_i$λ $P_{D_i}$ κ°μ $i$ λ²μ§Έλ‘ κ°μ§κ³ μ€λ κ²μ μλ―Ένλ€. μ΄λ¬ν
www.acmicpc.net
μ½λ
#include <iostream>
#include <memory.h>
using namespace std;
int D[10001], S[10001], v[10001];
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int N, K; cin>>N>>K;
for(int i=1; i<=N; i++) cin>>S[i];
for(int i=1; i<=N; i++) cin>>D[i];
while(K--){
for(int i=1; i<=N; i++){
v[D[i]] = S[i];
}
memcpy(S,v,sizeof(S));
}
for(int i=1; i<=N; i++) cout<< v[i] << ' ';
}
νμ΄
λ¬Έμ λ₯Ό μ μ΄ν΄ν΄μΌ ν©λλ€.
μμ P[1 4 5 3 2] κ° μ ν μΉ΄λκ° D μμλλ‘ μ νμ μ§ννμ λ S[3 5 1 4 2]κ° λμ€κ² λλ λ¬Έμ μΈλ° μ‘°κΈ λ νμ΄μ μ΄μΌκΈ°νλ©΄ λ€μκ³Ό κ°μ΅λλ€.
- P = 1 μΌλ D = 4μ λλ€. λ°λΌμ Sλ°°μ΄μ 4λ²μ§Έ μΈλ±μ€μ λ£μΌλ©΄ λ©λλ€.
- P = 4μΌλ D = 3μ λλ€. λ°λΌμ Sλ°°μ΄μ 3λ²μ§Έ μΈλ±μ€μ λ£μΌλ©΄ λ©λλ€.
- P = 5μΌλ D = 1μ λλ€. λ°λΌμ Sλ°°μ΄μ 1λ²μ§Έ μΈλ±μ€μ λ£μΌλ©΄ λ©λλ€.
- P = 3μΌλ D = 2μ λλ€. λ°λΌμ Sλ°°μ΄μ 2λ²μ§Έ μΈλ±μ€μ λ£μΌλ©΄ λ©λλ€.
- P = 2μΌλ D = 5μ λλ€. λ°λΌμ Sλ°°μ΄μ 5λ²μ§Έ μΈλ±μ€μ λ£μΌλ©΄ λ©λλ€.
λ°λΌμ μ λ‘μ§μ κΈ°μ€μΌλ‘ λ¨μ ꡬνμ ν΄μ£Όλ©΄ λ©λλ€.