QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#798836 | #9652. Autochess | ucup-team004 | AC ✓ | 222ms | 11720kb | C++23 | 1.7kb | 2024-12-04 17:38:33 | 2024-12-04 17:38:34 |
Judging History
answer
#include <bits/stdc++.h>
using i64 = long long;
using u64 = unsigned long long;
using u32 = unsigned;
using u128 = unsigned __int128;
void solve() {
int M, N, K;
std::cin >> M >> N >> K;
std::set<int> avai;
for (int i = 0; i < N; i++) {
avai.insert(i);
}
std::vector<std::string> name(N);
std::vector<int> level(N);
std::map<std::pair<std::string, int>, std::vector<int>> pos;
for (int i = 0; i < M; i++) {
std::string s;
std::cin >> s;
if (pos.contains({s, 3})) {
continue;
}
int l = 1;
while (l < 3 && pos.contains({s, l}) && pos[{s, l}].size() == K - 1) {
for (auto j : pos[{s, l}]) {
name[j] = "";
level[j] = 0;
avai.insert(j);
}
pos[{s, l}].clear();
l++;
}
if (!avai.empty()) {
int j = *avai.begin();
name[j] = s;
level[j] = l;
avai.erase(j);
pos[{s, l}].push_back(j);
}
}
for (int i = 0; i < N; i++) {
if (name[i].empty()) {
std::cout << -1;
} else {
std::cout << name[i];
if (level[i] > 1) {
std::cout << level[i];
}
}
std::cout << " \n"[i == N - 1];
}
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int t;
std::cin >> t;
for (int i = 1; i <= t; i++) {
std::cout << "Case " << i << ": ";
solve();
}
return 0;
}
这程序好像有点Bug,我给组数据试试?
詳細信息
Test #1:
score: 100
Accepted
time: 222ms
memory: 11720kb
input:
100 10 10 2 hpt qnfllwekzo hpt hpt hpt qnfllwekzo hpt qnfllwekzo hpt hpt 5 10 2 odqxvyfkb odqxvyfkb gbyhvssn odqxvyfkb odqxvyfkb 7 10 2 ovfjfvbey ovfjfvbey ovfjfvbey ovfjfvbey ovfjfvbey ovfjfvbey siwnj 6 10 2 lpoat qs lpoat lpoat qs qs 8 10 2 gyetnkmb spssuxz spssuxz spssuxz gyetnkmb gyetnkmb spssux...
output:
Case 1: hpt3 qnfllwekzo2 qnfllwekzo -1 -1 -1 -1 -1 -1 -1 Case 2: odqxvyfkb3 gbyhvssn -1 -1 -1 -1 -1 -1 -1 -1 Case 3: ovfjfvbey3 siwnj -1 -1 -1 -1 -1 -1 -1 -1 Case 4: lpoat2 qs2 lpoat qs -1 -1 -1 -1 -1 -1 Case 5: gyetnkmb2 spssuxz3 -1 gyetnkmb -1 -1 -1 -1 -1 -1 Case 6: frale3 -1 -1 -1 -1 -1 -1 -1 -1 ...
result:
ok 100 lines
Extra Test:
score: 0
Extra Test Passed