https://www.acmicpc.net/problem/2840
2840λ²: νμ΄μ λ°ν΄
첫째 μ€μ λ§μ§λ§ νμ μμ νμ΄νκ° κ°λ¦¬ν€λ λ¬ΈμλΆν° μκ³λ°©ν₯μΌλ‘ λ°ν΄μ μ μ΄λμ μνλ²³μ μΆλ ₯νλ€. μ΄λ, μ΄λ€ κΈμμΈμ§ κ²°μ νμ§ λͺ»νλ μΉΈμ '?'λ₯Ό μΆλ ₯νλ€. λ§μ½, μλμ΄κ° μ μ΄λ
www.acmicpc.net
λ¬Έμ
μλμ΄λ μ΅κ·Όμ νμ΄μ λ°ν΄λ₯Ό ꡬ맀νλ€. μλμ΄λ λ°ν΄μ κ° μΉΈμ μνλ²³ λλ¬Έμλ₯Ό μλ κ·Έλ¦Όκ³Ό κ°μ΄ μ μλ€.
λ°ν΄μ κ°μ κΈμλ λ λ² μ΄μ λ±μ₯νμ§ μλλ€. λ, λ°ν΄λ μκ³λ°©ν₯μΌλ‘λ§ λμκ°λ€. λ°ν΄ μμλ νμ΄νκ° μλλ°, μ΄ νμ΄νλ νμ ν κ³³μ κ°λ¦¬ν€κ³ μμΌλ©°, λμκ°λ λμ κ°λ¦¬ν€λ κΈμλ λ°λκ² λλ€. μμ κ·Έλ¦Όμμλ Hλ₯Ό κ°λ¦¬ν€κ³ μλ€.
μλμ΄λ λ°ν΄λ₯Ό μ°μν΄μ Kλ² λ릴 κ²μ΄λ€. λ§€λ² λ°ν΄λ₯Ό λ릴 λ λ§λ€, μλμ΄λ νμ΄νκ° κ°λ¦¬ν€λ κΈμκ° λ³νλ νμμ μ΄λ€ κΈμμμ νμ μ λ©μΆμλμ§λ₯Ό μ’ μ΄μ μ λλ€.
ν¬μμ΄λ μλμ΄κ° μ μ΄λμ μ’ μ΄λ₯Ό λ°κ²¬νλ€. κ·Έ μ’ μ΄λ₯Ό λ°νμΌλ‘ μλμ΄κ° λ°ν΄μ μ μ μνλ²³μ μμλ΄λ €κ³ νλ€.
μλμ΄κ° μ’ μ΄μ μ μ΄λμ λ΄μ©κ³Ό λ°ν΄μ μΉΈμ μκ° μ£Όμ΄μ‘μ λ, λ°ν΄μ μ μ΄λμ μνλ²³μ μμλ΄λ νλ‘κ·Έλ¨μ μμ±νμμ€.
νμ΄
11%μμ νλ Έμ΅λλ€ κ° λ¬λ€λ©΄
λ°ν΄μ κ°μ κΈμλ λ λ² μ΄μ λ±μ₯νμ§ μλλ€.
γ΄ μ 쑰건μ μ‘μλλμ§ μκ°νμ
λ°λ‘
4 4
1 A
1 B
1 C
1 A
μ½λ
#include <iostream>
#include <vector>
using namespace std;
string solution(int n, int k) {
vector<bool> alphabetUsed(26, false); // μ¬μ©λ μνλ²³ νμ
vector<char> wheel(n,'?'); // λ°ν΄ λ°°μ΄ κΈ°λ³Έκ°μ λ¬Όμν
int roll, cur=0; char c;
for(int i=0; i<k; i++) { // λλ €λλ € λλ¦Όν
cin >> roll >> c;
cur += roll;
cur %= n;
// κ°μ μΉΈλ μλλ° μ΄λ―Έ μ΄ μνλ²³μΈ κ²½μ°
if(wheel[cur]!=c && alphabetUsed[c-'A']) {
return "!";
}
// κ°μ μΉΈλ μλλ° μ΄λ―Έ 무μΈκ° μ¨μμ κ²½μ°
if(wheel[cur]!=c && wheel[cur]!='?') {
return "!";
}
wheel[cur] = c;
alphabetUsed[c-'A'] = true;
}
string ans = "";
for(int i=0; i<n; i++) {
ans += wheel[((cur-i)+n)%n];
}
return ans;
}
int main() {
int n,k;
cin >> n >> k;
cout << solution(n,k);
return 0;
}
'π Cpp' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ][C++] λ°±μ€ 15686λ²: μΉν¨λ°°λ¬ (0) | 2024.03.11 |
---|---|
[BOJ][C++] λ°±μ€ 1037λ²: μ½μ (0) | 2024.03.08 |
[BOJ][C++] λ°±μ€ 14503λ²: λ‘λ΄ μ²μκΈ° (0) | 2023.11.23 |
[BOJ][C++] λ°±μ€ 2839λ²: μ€ν λ°°λ¬ (0) | 2023.11.02 |
[BOJ][C++] λ°±μ€ 1296λ²: λμΉ μ°¨μ§ν© (0) | 2023.10.16 |