ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#280 | #6. 「WyOJ Round 1」持 · 山海为肩 | xxxbt | 30 | 21ms | 3656kb | C++23 | 1.4kb | 2025-04-18 15:33:56 | 2025-04-18 18:04:02 |
answer
#include <bits/stdc++.h>
using namespace std;
const int kMaxN = 1e5 + 10;
int f[20], ans[20], c[kMaxN][20], n, m;
double p[kMaxN], maxn = -1;
string s;
void D(int x) {
if (x > m) {
double sum = 0;
for (int i = 1; i <= n; i++) {
int cnt1 = 0, cnt2 = 0;
for (int j = 1; j <= m; j++) {
cnt1 += ((c[i][j] + 1) % 3 == f[j]), cnt2 += ((f[j] + 1) % 3 == c[i][j]);
}
(cnt1 >= cnt2) && (sum += p[i]);
}
if (sum > maxn) {
for (int i = 1; i <= m; i++) {
ans[i] = f[i];
}
maxn = sum;
} else if (sum == maxn) {
int flag = 0;
for (int i = 1; i <= m && f[i] <= ans[i]; i++) {
if (f[i] < ans[i]) {
flag = 1;
break;
}
}
if (flag) {
for (int i = 1; i <= m; i++) {
ans[i] = f[i];
}
}
}
return;
}
for (int i = 0; i < 3; i++) {
f[x] = i, D(x + 1);
}
}
signed main() {
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> p[i];
for (int j = 1; j <= m; j++) {
cin >> s, c[i][j] = (s != "rock") + (s == "scissors");
}
}
D(1);
cout << fixed << setprecision(6) << maxn << '\n';
for (int i = 1; i <= m; i++) {
cout << (!ans[i] ? "rock " : (ans[i] < 2 ? "paper " : "scissors "));
}
return cout << '\n', 0;
}
Details
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 14ms
memory: 3496kb
input:
841 5 0.002262 paper rock rock scissors scissors 0.000665 rock paper paper scissors paper 0.001132 s...
output:
0.689135 paper paper rock rock paper
result:
ok 6 tokens
Test #2:
score: 10
Accepted
time: 4ms
memory: 3656kb
input:
320 1 0.001734 rock 0.000432 rock 0.003306 scissors 0.000322 paper 0.000380 rock 0.000817 scissors 0...
output:
0.728099 rock
result:
ok 2 tokens
Test #3:
score: 10
Accepted
time: 3ms
memory: 3564kb
input:
19 2 0.086520 scissors rock 0.028985 rock rock 0.056406 rock scissors 0.010732 scissors rock 0.04471...
output:
0.836348 scissors rock
result:
ok 3 tokens
Test #4:
score: 0
Time Limit Exceeded
input:
100000 12 0.000008 rock rock rock scissors paper scissors paper paper paper scissors paper scissors ...
output:
result:
Test #5:
score: 0
Time Limit Exceeded
input:
82918 11 0.000009 paper rock rock scissors scissors paper rock paper rock rock paper 0.000000 scisso...
output:
result:
Test #6:
score: 0
Time Limit Exceeded
input:
63157 10 0.000004 rock scissors paper scissors paper scissors rock paper rock scissors 0.000007 rock...
output:
result:
Test #7:
score: 0
Time Limit Exceeded
input:
100000 12 0.000003 rock rock rock paper paper rock paper paper paper rock rock scissors 0.000001 pap...
output:
result:
Test #8:
score: 0
Time Limit Exceeded
input:
72055 11 0.000006 rock scissors scissors rock scissors scissors scissors scissors rock scissors scis...
output:
result:
Test #9:
score: 0
Time Limit Exceeded
input:
49463 12 0.000024 rock paper scissors paper rock scissors rock paper paper paper paper paper 0.00000...
output:
result:
Test #10:
score: 0
Time Limit Exceeded
input:
100000 12 0.000007 rock paper scissors paper paper scissors rock rock scissors rock scissors paper 0...