QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#397508#3742. 卖萌表情SamponYWWA 21ms5860kbC++142.2kb2024-04-24 11:09:582024-04-24 11:09:58

Judging History

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

  • [2024-04-24 11:09:58]
  • 评测
  • 测评结果:WA
  • 用时:21ms
  • 内存:5860kb
  • [2024-04-24 11:09:58]
  • 提交

answer

#include <bits/stdc++.h>
#define db double
#define il inline
#define re register
#define ll long long
#define ui unsigned
#define ull ui ll
#define i128 __int128
#define pii pair<int, int>
#define fi first
#define se second
#define eb emplace_back
#define SZ(v) (int)v.size()
#define ALL(v) v.begin(), v.end()
#define mems(v, x) memset(v, x, sizeof(v))
#define memc(a, b) memcpy(a, b, sizeof(a))
#define FOR(i, L, R) for(re int i = (L); i <= (R); ++i)
#define ROF(i, R, L) for(re int i = (R); i >= (L); --i)
#define LS i << 1, l, mid
#define RS i << 1 | 1, mid + 1, r
#define popc(x) __builtin_popcount(x)
using namespace std;
#define N 1005
#define P 1000000007
il int add(int x, int y) {return x + y < P ? x + y : x + y - P;}
il void addr(int &x, int y) {(x += y) >= P && (x -= P);}
il int qpow(int p, int n = P - 2) {
  int s = 1;
  while(n) {
    if(n & 1) s = 1ll * s * p % P;
    p = 1ll * p * p % P, n >>= 1;
  }
  return s;
}
int n, m; string str[N];
bool u[N][N];
il void WORK() {
  FOR(i, 1, n) cin >> str[i], str[i] = " " + str[i];
  FOR(i, 1, n) FOR(j, 1, m) u[i][j] = 0; int ans = 0;
  FOR(i, 1, n) FOR(j, 1, m) {
    if(j > 1 && j < m && i < n && str[i][j - 1] == '^' && str[i][j + 1] == '^' && str[i + 1][j] == 'v' && !u[i][j - 1] && !u[i][j + 1] && !u[i + 1][j])
      u[i][j - 1] = u[i][j + 1] = u[i + 1][j] = 1, ++ans;
    if(j > 1 && j < m && i > 1 && str[i][j - 1] == 'v' && str[i][j + 1] == 'v' && str[i - 1][j] == '^' && !u[i][j - 1] && !u[i][j + 1] && !u[i - 1][j])
      u[i][j - 1] = u[i][j + 1] = u[i - 1][j] = 1, ++ans;
    if(i > 1 && i < n && j < m && str[i - 1][j] == '<' && str[i + 1][j] == '<' && str[i][j + 1] == '>' && !u[i - 1][j] && !u[i + 1][j] && !u[i][j + 1])
      u[i - 1][j] = u[i + 1][j] = u[i][j + 1] = 1, ++ans;
    if(i > 1 && i < n && j > 1 && str[i - 1][j] == '>' && str[i + 1][j] == '>' && str[i][j - 1] == '<' && !u[i - 1][j] && !u[i + 1][j] && !u[i][j - 1])
      u[i - 1][j] = u[i + 1][j] = u[i][j - 1] = 1, ++ans;
  }
  cout << ans << "\n";
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0), cout.tie(0);
  while(cin >> n >> m) WORK();
  cerr << 1.0 * clock() / CLOCKS_PER_SEC;
  return 0;
}

詳細信息

Test #1:

score: 0
Wrong Answer
time: 21ms
memory: 5860kb

input:

3 10
^>^<^^^^>^
<v^v^^v^v>
<>vvvvvvvv
10 1
v
^
<
<
v
<
v
>
<
<
5 4
<^^^
<vvv
<<^>
vv^v
<vvv
2 9
^^^^^^^^^
vvvvvvvvv
9 10
^>^^<^<^<>
<^<<><<<<>
v^v^^<>^<^
^<vvv<><<>
<v>>><^v^>
^^^^>^^<<v
v^v>v^v^<>
v^vvv>v^<^
vvvvv><>v>
8 8
^^^^<^<^
<>^<v>v^
<v<v>^v>
v>v<vv<>
^<^>>v<>
<v^v^<<>
^v^^>v<>
<vv<vv<>
2 2
...

output:

5
0
4
4
13
10
0
3
7
7
10
0
6
2
0
5
0
4
3
0
0
0
0
4
4
6
3
5
4
9
2
0
4
6
6
4
0
5
0
16
6
2
6
2
5
4
10
4
8
0
0
10
0
4
5
6
4
12
12
2
0
13
4
4
6
6
5
0
5
0
6
6
2
11
0
11
4
0
2
0
0
11
18
5
2
6
14
8
7
4
0
0
0
7
8
3
6
0
0
13
4
2
9
4
3
13
7
9
0
3
14
0
6
0
5
14
9
5
4
0
0
3
2
9
6
16
6
4
12
0
0
8
5
12
0
5
9
4
2
0...

result:

wrong answer 4th numbers differ - expected: '6', found: '4'