전체 글 (23) 썸네일형 리스트형 Codeforces Round #686 (Div.3) A. Special Permutation 길이가 \(N\)이면서 모든 \(i\)에 대해 \(arr[i] \ne i\)를 만족하는 수열을 출력하는 문제이다. \( \{2, 3, 4, ... , N, 1\} \)은 주어진 조건을 무조건 만족한다. #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int T; cin >> T; while (T--) { int N; cin >> N; for (int i = 1; i > in; v[i] = in; m[in]++; } int ans = 0; int ind = 0; for (auto &i : m) { ind++; if (i.second == 1) { ans = i.first;.. Codeforces Round #685 (Div.2) 11월 21일 있었던 코드포스 라운드 685의 풀이이다. A. Subtract or Divide 주어진 수 \(N\)을 두 가지 연산을 이용해 \(1\)로 만드는데, 필요한 연산 횟수의 최솟값을 구하는 문제이다. 두 가지 연산은 각각 수를 자신의 진약수로 나누거나, \(1\)을 빼는 연산이다. 결정적인 관찰은 \(N\)이 짝수이면 1번의 연산만으로 무조건 \(N\)을 \(2\)를 만들 수 있는 것이다. 이것을 늦게 발견해서 이 문제를 푸는 데 25분이나 걸렸다. 시간 복잡도는 테스트 케이스 당 \(O(1)\)이다. #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int T; cin >> T; while (T--.. Educational Codeforces Round 98 (Div.2) 그저께 밤에 있었던 Educational Codeforces Round 98 풀이이다. 총 3솔브를 했다. A. Robot Program 주어지는 두 길이를 \( N, M \)이라 하자\(( N \ge M )\). 이 때, 아래 그림과 같이 움직이는 게 최선의 경로이며, 총 필요한 Command의 개수는 \(N=M\)일 때 \(2M\)개이고, \(N \neq M\)일 때 \(2N - 1\)개이다. #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int T; cin >> T; while (T--) { int N, M; cin >> N >> M; if (N < M)swap(N, M); int res = 0; res.. 이전 1 2 3 4 5 6 7 8 다음