QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#747241#5485. MazeMansuryaaprakasshAC ✓342ms11412kbC++203.4kb2024-11-14 16:40:432024-11-14 16:40:43

Judging History

你现在查看的是最新测评结果

  • [2024-11-14 16:40:43]
  • 评测
  • 测评结果:AC
  • 用时:342ms
  • 内存:11412kb
  • [2024-11-14 16:40:43]
  • 提交

answer

#include <bits/stdc++.h>
// pbds
/*#include <ext/pb_ds/assoc_container.hpp> // Common file*/
/*#include <ext/pb_ds/tree_policy.hpp>*/
/**/
/*using namespace __gnu_pbds;*/
using namespace std;

#ifdef LOCAL
#include "debug.h"
#else
#define debug(x...) 42
#endif
#define fast_io                                                                \
  ios_base::sync_with_stdio(false);                                            \
  cin.tie(NULL);                                                               \
  cout.tie(NULL);
#define ll long long
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()

/*typedef tree<int, null_type, less<int>, rb_tree_tag,*/
/*             tree_order_statistics_node_update>*/
/*    ordered_set;*/

bool vis[105][105];
bool cnt[105][105];
vector<string> v;
map<char, vector<pair<int, int>>> mp;
map<pair<int, int>, vector<char>> mpp;
map<char, ll> peop;
void dfs(int i, int j, int n, int m, char a) {
  if (i < 0 || j < 0 || i >= n || j >= m || vis[i][j] || v[i][j] == 'X')
    return;
  vis[i][j] = 1;
  if (v[i][j] == '.' || v[i][j] == a || v[i][j] == ' ') {
    ll key = i * 1000 + j;
    if (v[i][j] == '.') {
			peop[a]++;
			cnt[i][j] = 1;
      mpp[{i, j}].push_back(a);
    }
    if (mp.find(key) != mp.end()) {
      mp[a].push_back({i, j});
    } else {
      mp[a] = {{i, j}};
    }
    dfs(i - 1, j, n, m, a);
    dfs(i + 1, j, n, m, a);
    dfs(i, j - 1, n, m, a);
    dfs(i, j + 1, n, m, a);
  }
}

void solve() {
  ll n, m;
  cin >> n >> m;
  string a;
  v.resize(n);
  getline(cin, a);
  ll dot = 0;
  for (int i = 0; i < n; i++) {
    getline(cin, v[i]);
  }
  set<int> un;
  memset(cnt, 0, sizeof cnt);
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      dot += (v[i][j] == '.');
      if (v[i][j] == 'X' || v[i][j] == '.' || v[i][j] == ' ')
        continue;
      memset(vis, 0, sizeof vis);
      dfs(i, j, n, m, v[i][j]);
    }
  }
  vector<pair<int, char>> vp;
  for (auto c : peop) {
    vp.push_back({c.second, c.first});
  }
  sort(rall(vp));
  vector<vector<bool>> check(n, vector<bool>(m, 0));
  ll score = 0;
  set<char> curr;
  for (auto x : mpp) {
    if (x.second.size() == 1 && curr.find(*x.second.begin()) == curr.end()) {
      if (!check[x.first.first][x.first.second]) {
        curr.insert(*x.second.begin());
        check[x.first.first][x.first.second] = 1;
      }
      continue;
    }
    char fuck = 'Z';
    char fc = 0;
    bool idd = 1;
    for (auto y : x.second) {
      if (curr.find(y) != curr.end()) {
        idd = 0;
        check[x.first.first][x.first.second] = 1;
        break;
      }
      if (peop[y] > fc) {
        fc = peop[y];
        fuck = y;
      }
    }
    if (idd && fuck != 'Z') {
      check[x.first.first][x.first.second] = 1;
      curr.insert(fuck);
    }
  }
  cout << curr.size() << " ";
  int nvis = 0;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      nvis += cnt[i][j];
    }
  }
  cout << (dot - nvis) << "\n";
}

int main() {
  fast_io;
#ifdef LOCAL
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
  freopen("output.txt", "w", stderr);
#endif
  ll t = 1;
  /*cin >> t;*/
  while (t--) {
#ifdef LOCAL
    cout << "TEST CASE " << t + 1 << "\n";
#endif
    solve();
  }
#ifdef LOCAL
  cout << endl
       << "finished in " << clock() * 1.0 / CLOCKS_PER_SEC << " sec\n\n";
#endif
  return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3604kb

input:

10 20
XXXXXXXAXXXXXXXBXXXX
X.. ..X.X...... ...X
X.XXX...X.X.XXXXXX.X
X.X.XXXXX.X.X....X.X
X.X... ...X.X.XX.X.X
X.X.X.XXXXXXX.XX.X.X
X.X.X.X...X...X....X
X.X.X.XXXXXXX.XXXX.X
X...X.X X.. ..X..X.X
XXXXXXXDXXXXXXXXCXXX

output:

2 3

result:

ok 2 number(s): "2 3"

Test #2:

score: 0
Accepted
time: 0ms
memory: 3588kb

input:

3 5
XDRVX
X.X.X
XXXXX

output:

2 0

result:

ok 2 number(s): "2 0"

Test #3:

score: 0
Accepted
time: 0ms
memory: 3584kb

input:

3 5
NAQXX
X X.X
XXXXX

output:

0 1

result:

ok 2 number(s): "0 1"

Test #4:

score: 0
Accepted
time: 1ms
memory: 3900kb

input:

10 68
XXXXXXPXXXXXXXXCXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXIXXRXXXXXXXXXKXXX
X.XX..XXXX.X.X.XXXXXX..XXXXX.X.X......X ......X.X.. X.....XXX..  X.X
X X.X.XXX.. X..X..X ..X..XX.XX.XXXXX.X....X.X.X.XXXX.X. X..X.X.....X
X.X..XX .XX..X....X.XX.X..XXX....X.X. .X....X.X .XX.X...X.XXX.. X..X
X.X..X..XXXXXX .. ...

output:

4 116

result:

ok 2 number(s): "4 116"

Test #5:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

7 4
WIRX
VX.S
OXXN
XX E
K..B
T.XQ
CMDL

output:

2 0

result:

ok 2 number(s): "2 0"

Test #6:

score: 0
Accepted
time: 0ms
memory: 3816kb

input:

14 65
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X...... .XXX..X.X. ..XXX.XXX XX.X.X.XX .X.XXX..X.XX..XXXX....X .X
XXX..X.XXXXXXX..X.X....XX...XXX..XXX..XX....X...X.......X..X.XXXX
X.X.X......XXX .....XX. ...XX...X.X.XXX...X.....X.X.XX.XX ..X X X
X...........X.....X X...XXX.XX...

output:

1 318

result:

ok 2 number(s): "1 318"

Test #7:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

42 20
XAXXXXXXXXXXXXXXXXNX
X..X.XX.XX....XX.XXX
XX.XXX  X....XXX...V
X......XX...XXXXX..X
X....XX....X.XX....X
JX.XX XXX.XX..XX.XXX
X. ..XXX....XXX...XX
XX.... .XXX.XX..X.XX
X.X.....XX.X..X .X.X
X.X. ....XX.....XX.X
X X..X...X.XXXXXX..X
X.......XX.X..X.XXXX
X..XX...XX......XXXX
XX.XX..X ...X...XX.X
...

output:

3 258

result:

ok 2 number(s): "3 258"

Test #8:

score: 0
Accepted
time: 0ms
memory: 3860kb

input:

45 86
XXXXXXXXXXXXXXXXXXXXXXXXXXEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXX.X..XXXX.. XX.XX.X.X..XX....XX..X.X.X.XX.....X.X.X. ..X..XX.XX.XX.XX..X..X....XXX.X
XX...XX...XXX.XX.XXXX. XX....X. XXX....XXXXX...X.X.XXX.......XXX.X..XX...X.X..X..XX.XX
X XX...X.XX..XX. X...X..... .X..X...

output:

1 1791

result:

ok 2 number(s): "1 1791"

Test #9:

score: 0
Accepted
time: 1ms
memory: 3848kb

input:

35 47
XXXXXXXXXOXXXXXXXXHSXXXXXXXXNXXXXXXXXXXMXXXXXXX
X.X.XXX..XXXX.....X .  X........X  X..XX.XX..XQ
X.XXXX XX..X.....X..X....XX. XX..X..X.XX..XXX.X
X.XX..X....XX.XXX. X..XXX.XX.X..X.X.X.XX.X.X..X
X.X...XXX.X..X..XX X..X.. XXX..X XX.XXX..X.X..P
XXX.X..X... XX.......X XX.X X...X..  ..XX.X...X
X.X.XX...

output:

6 463

result:

ok 2 number(s): "6 463"

Test #10:

score: 0
Accepted
time: 1ms
memory: 3692kb

input:

68 83
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXX
X.X..XXX...X.XX.XX.......XXX .XXX .XX.......... .XXXX...XX..X.....XX.X.......X.XX.X
XXX.XX. XXXX.XXXX..X..XXX..X..XXXX  XX.X.X.X.......XX.XXXX.XXX.. .X....X. .X.X.XX.X
X.XXXXX.. ...X.....XX.X...XX...X....XXX.XX...

output:

7 2439

result:

ok 2 number(s): "7 2439"

Test #11:

score: 0
Accepted
time: 1ms
memory: 3676kb

input:

44 49
XXXXJXIXXXXXXXXXXXXXXXXFXXXXXXXXXXXXXXXXXXXXXXXXX
X.... X......X ... X.X. XXX..XXX.XX..XXXX...XX..X
X.X..XXX....XXXX...X.X.X.XX.  ...XXXX.X.XXX.X. .X
XX...X .X..X.X. X.. .X XXXX.XX.X... X.XXXX....XXX
X..X.X......X.XX.XXX.X...XXX..X .X.XX.X...XX..XXX
X X XXX.X....XX..XXX.XX.XX.X.XXXXXXXXX...X.X...

output:

5 807

result:

ok 2 number(s): "5 807"

Test #12:

score: 0
Accepted
time: 0ms
memory: 3716kb

input:

89 61
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXLXXXXXXXXXXXXXXXXXXXXXXXX
X.X X.X..X..XX.X..XXX.X.X.XXX.XXX.XX. X.X.....XX..X.XX.....XX
X.X..X.XX.X.XXXXXX...X.... .XX. XXXXXXX..X...XXX..XXXX..XX.XX
XXXXXX..XX.......XXXX.X...X....XX..X..X.XX.XX.XX...XXXX ..X.X
X.X.XX.XX.X.. .... ..XX. .XXXX..X....X ..X.X.....

output:

8 2394

result:

ok 2 number(s): "8 2394"

Test #13:

score: 0
Accepted
time: 0ms
memory: 3584kb

input:

3 3
XAX
X.X
XXX

output:

1 0

result:

ok 2 number(s): "1 0"

Test #14:

score: 0
Accepted
time: 0ms
memory: 3588kb

input:

3 3
XAX
X X
XXX

output:

0 0

result:

ok 2 number(s): "0 0"

Test #15:

score: 0
Accepted
time: 0ms
memory: 3832kb

input:

3 3
XXX
X.X
XXX

output:

0 1

result:

ok 2 number(s): "0 1"

Test #16:

score: 0
Accepted
time: 0ms
memory: 3664kb

input:

94 5
XXXXX
X..XX
XXXXH
X.X.X
X.X.X
X..XX
X..XX
X.. X
X.X.X
X.XXX
L.XXX
X.X.X
XXX.P
X...X
XXXXX
XXX X
XX.XX
X.XXX
NX.XX
X...X
X.X.X
X.XXX
X..XX
XXX.X
XX.XX
XX..X
XXXXC
XX..X
X.XXX
X..XX
X..XX
X...X
X...X
X..XX
XX.XX
X. XX
XX..X
XX..X
X ..J
X.. X
X..XX
X.XXX
XXXXX
X...X
XX..X
X.XXX
Q ..X
XX.XX
XXXXX
X...

output:

8 59

result:

ok 2 number(s): "8 59"

Test #17:

score: 0
Accepted
time: 0ms
memory: 3620kb

input:

15 40
XXXXXXXXTXXXXXXXXXXXXXXXXXXNXXXIXXXXXKXX
X.X.. .X..X.X.. ..X...XX....X.X.XX....XX
XXX.......X.XXX. XXX.X....XXXX..XX.X...X
X.X.X.X...X. XX.X..XX.XX.. .X.XXX..XXXXX
XXX....XXXXX.XX.X.XXX.X.X.......X.XXXX.X
XX.XX... XX...XX.X......X..X.X X.X.X...X
XX..X.X....XXX.X.XX.XX.X...XXX.X.XXX.X.X
X.X..X....

output:

7 80

result:

ok 2 number(s): "7 80"

Test #18:

score: 0
Accepted
time: 0ms
memory: 3556kb

input:

12 100
XSXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXMXXXXXXXXXXX
XXXX.X..X..X.XXXX..X..XXXXXXXX....X X.XX..XXXXXXXXXXX X..XXXX.X..X....X.X ..X...XX.X..XX XX.XX..X.XX
X..X X..X...X.XXX......XXX...X.X.XXX...X....X.XXXX. X... ...X.X.XX .XXXXXXXXX .X..X...X XX....

output:

1 477

result:

ok 2 number(s): "1 477"

Test #19:

score: 0
Accepted
time: 1ms
memory: 3660kb

input:

99 48
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXSCXXXXXXX
XX.XX...XX..XXX.X.X.X X.. .XXX.X......XXX.X..X.X
X. XX.XXX.X....X.X..XXX.XXXXXXXX.X.X..XX...X..XX
X..XXXXX..XXXXX.X..X..XX..X..X..XXX.. .X...XXX.X
XXX...XXXX..X..X..X..X .X.XXXX...XX.XX..XXX X.XX
XX.....X.X...XXX.......X.XX....... ....XX.X..X.X
...

output:

7 1776

result:

ok 2 number(s): "7 1776"

Test #20:

score: 0
Accepted
time: 1ms
memory: 3692kb

input:

86 79
XXXXXXXXXXXXXXXXXXXXXXXXFXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXPXXQXTI
X.X...X.XXX. ..X.XX.X....XX.  .X..X..X.X..X...X.....XX. .X.X..X.XX..X XXXXX.XXX
X.XXXX....X.X...X.X. .X..............X ...X. ....X... ...X..XXX .... X..XX....A
XX.X.XX.X X.XXX.XXX.XXX.XX..XX..X.X X.XXXX.XXXX.XXXXXX...

output:

7 2607

result:

ok 2 number(s): "7 2607"

Test #21:

score: 0
Accepted
time: 1ms
memory: 3892kb

input:

32 62
XXJXXXXXXXXXXXXTXXXXEXXXXXXXXXXXXXXXXXXXXXXRXCXXXXXVXXXXXXXXXX
MXX...XXX.XX..X..XX.. XX.XX.XX.XX.XXX..X.XX.X.XXX..X....X...XX
X........X....X.X..X.XXX..X.XX.X.XXX.XXXX...XX..XX..X.XX.X.X.X
U.XXXXXXX..XXX.XXXXXXXXX.X.XXXX......X.X..XXX.. .X..X..X.XXX.X
X.X  X..X.XX. ..X..XXX..XXXXX..X.X..XXXXXX...

output:

11 566

result:

ok 2 number(s): "11 566"

Test #22:

score: 0
Accepted
time: 2ms
memory: 4820kb

input:

100 100
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X..................................................................................................X
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...

output:

1 0

result:

ok 2 number(s): "1 0"

Test #23:

score: 0
Accepted
time: 0ms
memory: 3852kb

input:

100 100
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.XX
XX.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X.X...

output:

0 4802

result:

ok 2 number(s): "0 4802"

Test #24:

score: 0
Accepted
time: 0ms
memory: 3896kb

input:

100 100
AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXB
X..................................................................................................X
X............................................................................................

output:

0 9604

result:

ok 2 number(s): "0 9604"

Test #25:

score: 0
Accepted
time: 25ms
memory: 6684kb

input:

100 100
XXXXXXXXXXXXXBXXXXXXXXXXXXXXXXSXXXXXXXXXXXXXXXXFXXXXXXXXXXXXXUXXXXXXXXXXXXXXXGXXXXXXXXXXXTXXXXXXXXXA
X..................................................................................................X
X............................................................................................

output:

1 0

result:

ok 2 number(s): "1 0"

Test #26:

score: 0
Accepted
time: 0ms
memory: 5936kb

input:

100 100
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X..................................................................................................X
X............................................................................................

output:

1 0

result:

ok 2 number(s): "1 0"

Test #27:

score: 0
Accepted
time: 342ms
memory: 11412kb

input:

100 100
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
A..................................................................................................A
A............................................................................................

output:

1 0

result:

ok 2 number(s): "1 0"

Test #28:

score: 0
Accepted
time: 113ms
memory: 5316kb

input:

100 100
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
A                                                                                                  A
A                                                                                         ...

output:

0 0

result:

ok 2 number(s): "0 0"

Test #29:

score: 0
Accepted
time: 0ms
memory: 3536kb

input:

100 100
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
X..................................................................................................X
X............................................................................................

output:

0 9604

result:

ok 2 number(s): "0 9604"

Test #30:

score: 0
Accepted
time: 5ms
memory: 3952kb

input:

100 100
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXA
AX...........................................................................................

output:

0 9216

result:

ok 2 number(s): "0 9216"

Test #31:

score: 0
Accepted
time: 0ms
memory: 3884kb

input:

5 10
ABCDEXXXXX
FXXX . ..X
G...XXX .X
HXXX ..XXX
IJKLMXXXXX

output:

3 0

result:

ok 2 number(s): "3 0"