Logo Wy Online Judge

WyOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#280#6. 「WyOJ Round 1」持 · 山海为肩xxxbt3021ms3656kbC++231.4kb2025-04-18 15:33:562025-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...

output:


result: