[λ°±μ€(BOJ)] νμ΄μ λ°ν΄(2840) C++
λ¬Έμ : BOJ_2840λ² νμ΄μ λ°ν΄
λ¬Έμ μ€λͺ
ꡬν
μ μκ²λ μ΄λ €μ΄ ꡬν λ¬Έμ μμ΅λλ€.N
κ°μ μ«μκ° μνμΌλ‘ μ°μ¬μλ μν νμ νμ μκ³λ°©ν₯μΌλ‘ λ립λλ€.
μ΄λ λμκ° μΉΈμ μμ κ°λ¦¬ν€λ μΉΈμ μ°μ¬μλ μνλ²³ λ¬Έμκ° K
λ² μ
λ ₯λ©λλ€.
μ΄λ₯Ό λ°νμΌλ‘ λ§μ§λ§μΌλ‘ κ°λ¦¬ν€λ μΉΈλΆν° μμλλ‘ μνμ μνλ²³μ μΆλ ₯νλ λ¬Έμ μ
λλ€.
Solution
μ λ μ°μ ν¬κΈ°μ λ§λ λ²‘ν° λ°°μ΄μ ν λΉνμ΅λλ€.
λ μν νμ νλμ λ°°μ΄λ‘ μκ°νκ³ , μν μμΌ°μ΅λλ€.
μ΄λ μν νμ΄ μκ³λ°©ν₯μΌλ‘ λμκ°λ€λ κ²μ λ°°μ΄μ μ
μ₯μμ λ§μ΄λμ€λ‘ λλ κ²μ΄κΈ° λλ¬Έμ νμ ν μΉΈ μλ§νΌ λ§μ΄λμ€λ₯Ό νμ¬ λ¬Έμλ₯Ό λ£μ΄μ£Όμμ΅λλ€.
λ¬Έμ κ° μ΄λ €μ λ μ΄μ λ μ€λ³΅λ κ°μ μ²λ¦¬νλ κ²μ΄μμ΅λλ€.
- λ¬Έμλ₯Ό λ£μ΄μ€ λ, λ¬Έμλ₯Ό μ μ λ£μ μΉΈμ΄ μλλ° λ£μ λ¬Έμμ λ€λ₯Έ λ¬Έμκ° μμ λ
- λ¬Έμλ₯Ό λͺ¨λ λ£μ λ€ μλ‘ λ€λ₯Έ μΈλ±μ€μ κ°μ λ¬Έμκ° λ€μ΄κ° μμ λ
- λν νμ μκ° μν ν μΉΈμ ν¬κΈ°λ₯Ό λκΈΈ μ μμΌλ―λ‘
N
μΌλ‘ λλ λλ¨Έμ§λ‘ μ²λ¦¬ν΄ μ£Όμ΄μΌ ν©λλ€.*
μ λ κ°μ§λ₯Ό λͺ¨λ μ²λ¦¬ν΄ μ£Όμ΄μΌ ν©λλ€.
Description
- μ²μ λ°°μ΄μ λͺ¨λ λ¬Έμμ΄
'?'
λ₯Ό ν λΉν΄ μ£Όμμ΅λλ€. - νμ μ cntλ₯Ό λ°μ λ€
cnt %= N;
λ₯Ό μ€ννκ³ μ²λ¦¬ν΄ μ£Όμμ΅λλ€.
#include <iostream>
#include <vector>
using namespace std;
int main(void) {
int N, K;
cin >> N >> K;
vector<char> adj(N);
for (int i = 0; i < N; i++) adj[i] = '?';
int now = 0;
for (int i = 0; i < K; i++) {
int cnt;
char value;
cin >> cnt >> value;
cnt %= N;
now -= cnt;
if (now < 0) now += N;
if (adj[now] != '?' && adj[now] != value) {
cout << "!\n";
return 0;
}
else adj[now] = value;
}
for (int i = 0; i < N-1; i++) {
for (int j = i + 1; j < N; j++) {
if (adj[i] != '?' && adj[i] == adj[j]) {
cout << "!\n";
return 0;
}
}
}
int rot = N;
while (rot--) {
cout << adj[now];
now++;
if (now == N) now = 0;
}
cout << '\n';
return 0;
}
'Algorithm > BOJ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ] λ°±μ‘°μ νΈμ(3197) (0) | 2022.03.10 |
---|---|
[BOJ] νμ νκΈ°μ(1918) (0) | 2022.03.10 |
[BOJ] νμ νλ ν(1021) (0) | 2022.03.10 |
[BOJ] μ€λ₯΄λ§ μ(11057) (0) | 2022.03.09 |
[BOJ] μ κ³±μμ ν©(1699) (0) | 2022.03.09 |