Submissions
Contest Clarifications
-
Subject: General Issue |
Unknown User @ 2025-1-22 15:07:19
我递交了,怎么说我没有递交试题呢?怎样递交试题,谢谢
-
Subject: D1. 门游戏 | 2025-1-22 15:03:45@
#include <iostream> #include <vector> #include <algorithm>
using namespace std;
int main() { int l, r, L, R; cin >> l >> r >> L >> R;
int start_l = l - 1; int end_r = r - 1; int start_L = L - 1; int end_R = R - 1; vector<bool> A_range(100, false); vector<bool> B_range(100, false); for (int i = start_l; i <= end_r; ++i) { A_range[i] = true; } for (int i = start_L; i <= end_R; ++i) { B_range[i] = true; } int locked_doors = 0; for (int i = 0; i < 100; ++i) { if (A_range[i] && B_range[i]) { ++locked_doors; } } cout << locked_doors << endl; return 0;
}
-
Subject: C1. 马原课上的提问 | 2025-1-22 14:59:18@
#include <iostream> #include <vector>
using namespace std;
int main() { int n, m, k, u, v; cin >> n >> m >> k >> u >> v;
vector<vector<int>> questions(n, vector<int>(m, 0)); int row = 0, col = 0; bool goingRight = true; for (int count = 0; count < k; ++count) { questions[row][col]++; if (goingRight) { if (col + 1 < m) { col++; } else if (row + 1 < n) { row++; goingRight = false; } else { break; } } else { if (col - 1 >= 0) { col--; } else if (row + 1 < n) { row++; goingRight = true; } else { break; } } if (row == n - 1 && (goingRight ? col == m - 1 : col == 0)) { if (row > 0) { row--; goingRight = !goingRight; if (goingRight) { col = 0; } else { col = m - 1; } } else { break; } } } int xiaoWenQuestions = questions[u - 1][v - 1]; int maxQuestions = 0, minQuestions = k; for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { if (questions[i][j] > maxQuestions) { maxQuestions = questions[i][j]; } if (questions[i][j] < minQuestions) { minQuestions = questions[i][j]; } } } cout << xiaoWenQuestions << " " << maxQuestions << " " << minQuestions << endl; return 0;
}
-
Subject: B1. 无悖灾厄的雪域 | 2025-1-22 14:56:17@
#include <iostream> #include <vector> #include <algorithm>
using namespace std;
int main() { int n, k, l; cin >> n >> k >> l;
vector<int> wolves(n); for (int i = 0; i < n; ++i) { cin >> wolves[i]; } sort(wolves.begin(), wolves.end()); int invader_position = 0; int time = 0; while (invader_position < l) { int closest_wolf = -1; for (int i = 0; i < n; ++i) { if (wolves[i] <= invader_position) { closest_wolf = wolves[i]; } else { break; } } if (closest_wolf != -1 && invader_position - closest_wolf < k) { invader_position = closest_wolf + k; time += (invader_position - closest_wolf) * 2; } else { invader_position = l; break; } } cout << time << endl; return 0;
}
-
Subject: D1. 门游戏 | 2025-1-22 14:47:18@
#include <stdio.h>
int minLocks(int l, int r, int L, int R) { if (r < L || l > R) { return 0; } else { return 2; } }
int main() { int l, r, L, R; scanf("%d %d %d %d", &l, &r, &L, &R); int result = minLocks(l, r, L, R); printf("%d\n", result); return 0; }
-
Subject: A1. 消消乐 | 2025-1-22 14:41:34@
#include <iostream> #include <vector> #include <algorithm> #include <cmath> #include <unordered_set>
using namespace std;
// 检查两个数是否互质 bool isCoprime(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a == 1; }
// 计算最大分数和可以消除的对数 pair<int, int> getMaxScoreAndCount(vector<int>& nums) { int n = nums.size(); vector<int> dp(n, 0); unordered_set<int> used; int maxScore = 0; int count = 0;
for (int i = 0; i < n; ++i) { for (int j = 0; j < i; ++j) { int x = nums[i], y = nums[j]; int diff = x * x - y * y; int sqrtDiff = sqrt(diff); if (sqrtDiff * sqrtDiff == diff) { int z = sqrtDiff; if (isCoprime(y, z)) { if (used.find(j) == used.end()) { int score = x + y; dp[i] = max(dp[i], dp[j] + score); maxScore = max(maxScore, dp[i]); count++; } } } } if (dp[i] > 0) { used.insert(i); } } return {count, maxScore};
}
int main() { int a, b; cin >> a >> b; vector<int> nums(b - a + 1); for (int i = 0; i <= b - a; ++i) { nums[i] = a + i; }
auto result = getMaxScoreAndCount(nums); cout << result.first << " " << result.second << endl; return 0;
}
2025算法组WoC热身赛 #1
- Status
- Done
- Rule
- IOI
- Problem
- 4
- Start at
- 2025-1-22 14:00
- End at
- 2025-1-22 16:00
- Duration
- 2 hour(s)
- Host
- Partic.
- 33