QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#418426 | #3742. 卖萌表情 | ZayinCTT# | WA | 20ms | 4880kb | C++14 | 3.9kb | 2024-05-23 13:51:13 | 2024-05-23 13:51:13 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define fo(v,a,b) for(int v = a; v <= b; v++)
#define fr(v,a,b) for(int v = a; v >= b; v--)
#define cl(a,v) memset(a, v, sizeof(a))
const int N = 1010;
int n, m, ans; char s[N][N];
bool valid[N]; int cnt = 0;
int solve() {
ans = 0;
fo(i, 1, n - 1) {
cnt = 0;
fo(j, 2, m - 1) {
if(j % 2 == 0)
valid[++cnt] = (s[i][j - 1] == '^' &&
s[i + 1][j] == 'v' && s[i][j + 1] == '^');
else
valid[++cnt] = (s[i + 1][j - 1] == 'v' &&
s[i][j] == '^' && s[i + 1][j + 1] == 'v');
}
bool f = false;
fo(j, 1, cnt) {
if(f) f = false;
else if(valid[j]) ans++, f = true;
}
}
fo(i, 1, n - 1) {
cnt = 0;
fo(j, 2, m - 1) {
if(j % 2 == 1)
valid[++cnt] = (s[i][j - 1] == '^' &&
s[i + 1][j] == 'v' && s[i][j + 1] == '^');
else
valid[++cnt] = (s[i + 1][j - 1] == 'v' &&
s[i][j] == '^' && s[i + 1][j + 1] == 'v');
}
bool f = false;
fo(j, 1, cnt) {
if(f) f = false;
else if(valid[j]) ans++, f = true;
}
}
// fo(i, 1, n - 1) {
// cnt = 0;
// fo(j, 2, m - 1) if(j % 2 == 1)
// valid[++cnt] = (s[i + 1][j - 1] == 'v' &&
// s[i][j] == '^' && s[i + 1][j + 1] == 'v');
// bool f = false;
// fo(j, 1, cnt) {
// if(f) f = false;
// else if(valid[j]) ans++, f = true;
// }
// }
fo(j, 1, m - 1) {
cnt = 0;
fo(i, 2, n - 1) {
if(i % 2 == 0)
valid[++cnt] = (s[i - 1][j] == '<' &&
s[i][j + 1] == '>' && s[i + 1][j] == '<');
else
valid[++cnt] = (s[i - 1][j + 1] == '>' &&
s[i][j] == '<' && s[i + 1][j + 1] == '>');
}
bool f = false;
fo(i, 1, cnt) {
if(f) f = false;
else if(valid[i]) ans++, f = true;
}
}
fo(j, 1, m - 1) {
cnt = 0;
fo(i, 2, n - 1) {
if(i % 2 == 1)
valid[++cnt] = (s[i - 1][j] == '<' &&
s[i][j + 1] == '>' && s[i + 1][j] == '<');
else
valid[++cnt] = (s[i - 1][j + 1] == '>' &&
s[i][j] == '<' && s[i + 1][j + 1] == '>');
}
bool f = false;
fo(i, 1, cnt) {
if(f) f = false;
else if(valid[i]) ans++, f = true;
}
}
// fo(j, 1, m - 1) {
// cnt = 0;
// fo(i, 2, n - 1) if(i % 2 == 1)
// valid[++cnt] = (s[i - 1][j + 1] == '>' &&
// s[i][j] == '<' && s[i + 1][j + 1] == '>');
// bool f = false;
// fo(j, 1, cnt) {
// if(f) f = false;
// else if(valid[j]) ans++, f = true;
// }
// }
// fo(j, 1, m - 1) {
// fo(i, 1, n) valid[i] = false;
// fo(i, 2, n - 1) valid[i] = (s[i - 1][j] == '<' &&
// s[i][j + 1] == '>' && s[i + 1][j] == '<');
// bool f = false;
// fo(i, 2, n - 1) {
// if(f) f = false;
// else if(valid[j]) ans++, f = true;
// }
// }
// fo(j, 1, m - 1) {
// fo(i, 1, n) valid[i] = false;
// fo(i, 2, n - 1) valid[i] = (s[i - 1][j + 1] == '>' &&
// s[i][j] == '<' && s[i + 1][j + 1] == '>');
// bool f = false;
// fo(i, 2, n - 1) {
// if(f) f = false;
// else if(valid[j]) ans++, f = true;
// }
// }
return ans;
}
int main()
{
while(scanf("%d%d", &n, &m) == 2) {
fo(i, 1, n) scanf("%s", s[i] + 1);
printf("%d\n", solve());
}
return 0;
}
/*
*/
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 20ms
memory: 4880kb
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:
8 0 4 8 14 12 0 3 9 7 10 0 6 2 0 5 0 4 3 0 0 0 0 4 5 8 3 5 4 10 2 0 6 6 8 4 0 5 0 19 7 2 6 2 5 4 10 4 9 0 0 10 0 4 6 6 4 13 12 2 0 13 4 6 7 7 6 0 5 0 6 6 4 13 0 11 5 0 2 0 0 13 21 5 2 6 16 9 7 4 0 0 0 8 8 3 6 0 0 13 8 4 9 6 4 13 7 10 0 3 14 0 8 0 6 14 9 6 6 0 0 3 3 11 7 17 6 6 13 0 0 10 6 13 0 5 9 4...
result:
wrong answer 1st numbers differ - expected: '5', found: '8'