QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#875679 | #9977. Norte da Universidade | ucup-team5008 | TL | 3047ms | 36984kb | C++20 | 7.1kb | 2025-01-30 02:09:20 | 2025-01-30 02:09:21 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define rep2(i, j, k) for(ll i=ll(j);i<ll(k);i++)
#define rep(i, k) rep2(i,0,k)
#define rrep2(i, j, k) for(ll i=ll(j)-1;i>=ll(k);i--)
#define rrep(i, j) rrep2(i,j,0)
#define SZ(a) ll(a.size())
#define eb emplace_back
#define all(a) a.begin(),a.end()
using ll = long long;
using vl = vector<ll>;
using vvl = vector<vl>;
using P = pair<ll, ll>;
using vp = vector<P>;
using vvp = vector<vp>;
const ll inf = LLONG_MAX / 4;
template<class T>
bool chmin(T &a, T b) { return a > b ? a = b, 1 : 0; }
template<class T>
bool chmax(T &a, T b) { return a < b ? a = b, 1 : 0; }
const int mod = 998244353;
struct mint {
ll x;
mint(ll x = 0) : x(((x % mod) + mod) % mod) {}
mint &operator+=(const mint &a) {
if ((x += a.x) >= mod) x -= mod;
return *this;
}
mint &operator-=(const mint &a) {
if ((x += mod - a.x) >= mod) x -= mod;
return *this;
}
mint &operator*=(const mint &a) {
(x *= a.x) %= mod;
return *this;
}
mint operator+(const mint &a) { return mint(*this) += a; }
mint operator-(const mint &a) { return mint(*this) -= a; }
mint operator*(const mint &a) { return mint(*this) *= a; }
};
mint lu[1010][1010];
mint ld[1010][1010];
mint ru[1010][1010];
mint rd[1010][1010];
void solve() {
int n, m;
cin >> n >> m;
vector<string> s(n);
rep(i, n) cin >> s[i];
mint ans;
rep(t, 2) {
vl N(m), S(m, n), W(n), E(n, m);
vl Nc(m), Sc(m, n), Wc(n), Ec(n, m);
rep(i, n) rep(j, m) {
if (s[i][j] == 'N') chmax(N[j], i + 1);
if (s[i][j] == 'S') chmin(S[j], i);
if (s[i][j] == 'W') chmax(W[i], j + 1);
if (s[i][j] == 'E') chmin(E[i], j);
}
bool ok = true;
rep(i, n) {
while (Wc[i] < m and (s[i][Wc[i]] == 'W' or s[i][Wc[i]] == '?')) ++Wc[i];
while (Ec[i] and (s[i][Ec[i] - 1] == 'E' or s[i][Ec[i] - 1] == '?')) --Ec[i];
if (W[i] > Wc[i] or E[i] < Ec[i]) ok = false;
}
rep(i, m) {
while (Nc[i] < n and (s[Nc[i]][i] == 'N' or s[Nc[i]][i] == '?')) ++Nc[i];
while (Sc[i] and (s[Sc[i] - 1][i] == 'S' or s[Sc[i] - 1][i] == '?')) --Sc[i];
if (N[i] > Nc[i] or S[i] < Sc[i]) ok = false;
}
if (!ok) {
cout << 0 << '\n';
return;
}
// cout << "t: " << t << endl;
// rep(i, m) printf("%lld %lld %lld %lld %lld\n", i, N[i], Nc[i], S[i], Sc[i]);
// rep(i, n) printf("%lld %lld %lld %lld %lld\n", i, W[i], Wc[i], E[i], Ec[i]);
rep(i, n + 1) rep(j, m + 1) {
if (!i and !j) {
lu[i][j] = 1;
continue;
}
lu[i][j] = 0;
if (i and W[i - 1] <= j and j <= Wc[i - 1]) lu[i][j] += lu[i - 1][j];
if (j and N[j - 1] <= i and i <= Nc[j - 1]) lu[i][j] += lu[i][j - 1];
}
rrep(i, n + 1) rep(j, m + 1) {
if (i == n and !j) {
ld[i][j] = 1;
continue;
}
ld[i][j] = 0;
if (i < n and W[i] <= j and j <= Wc[i]) ld[i][j] += ld[i + 1][j];
if (j and Sc[j - 1] <= i and i <= S[j - 1]) ld[i][j] += ld[i][j - 1];
}
rep(i, n + 1) rrep(j, m + 1) {
if (!i and j == m) {
ru[i][j] = 1;
continue;
}
ru[i][j] = 0;
if (i and Ec[i - 1] <= j and j <= E[i - 1]) ru[i][j] += ru[i - 1][j];
if (j < m and N[j] <= i and i <= Nc[j]) ru[i][j] += ru[i][j + 1];
}
rrep(i, n + 1) rrep(j, m + 1) {
if (i == n and j == m) {
rd[i][j] = 1;
continue;
}
rd[i][j] = 0;
if (i < n and Ec[i] <= j and j <= E[i]) rd[i][j] += rd[i + 1][j];
if (j < m and Sc[j] <= i and i <= S[j]) rd[i][j] += rd[i][j + 1];
}
vector<mint> lc(m + 1), rc(m + 1);
lc[0] = rc[m] = 1;
rep(j, m + 1) {
if (j)
rep(i, n) {
if (!(W[i] <= j and j <= Wc[i])) continue;
if (!(N[j - 1] <= i and i <= Nc[j - 1])) continue;
mint now = lu[i][j - 1];
now *= ld[i + 1][j];
lc[j] += now;
}
if (j < m)
rep(i, n) {
if (!(Ec[i] <= j and j <= E[i])) continue;
if (!(N[j] <= i and i <= Nc[j])) continue;
mint now = ru[i][j + 1];
now *= rd[i + 1][j];
rc[j] += now;
}
// printf("%lld %lld %lld\n", j, lc[j].x, rc[j].x);
}
rep(l, m) {
mint cur = 1;
rep2(r, l + 1, m + 1) {
assert(N[r - 1] <= S[r - 1]);
if (Nc[r - 1] != S[r - 1]) break;
assert(Sc[r - 1] == N[r - 1]);
cur *= S[r - 1] - N[r - 1] + 1;
ans += cur * lc[l] * rc[r];
}
}
// cout << ans.x << endl;
rep2(i, 1, n) {
rep2(j, 1, m) rep2(k, j, m) {
if (t and j == k) continue;
if (!(N[j - 1] <= i and i <= Nc[j - 1])) continue;
if (!(Ec[i - 1] <= j and j <= E[i - 1])) continue;
if (!(Sc[k] <= i and i <= S[k])) continue;
if (!(W[i] <= k and k <= Wc[i])) continue;
mint now = 1;
now *= lu[i][j - 1] * ru[i - 1][j];
now *= rd[i][k + 1] * ld[i + 1][k];
ans += now;
// printf("%lld %lld %lld %lld\n", i, j, k, now.x);
}
rep2(j, 1, m) rep2(k, j, m) {
if (t and j == k) continue;
if (!(Sc[j - 1] <= i and i <= S[j - 1])) continue;
if (!(Ec[i] <= j and j <= E[i])) continue;
if (!(N[k] <= i and i <= Nc[k])) continue;
if (!(W[i - 1] <= k and k <= Wc[i - 1])) continue;
mint now = 1;
now *= ld[i][j - 1] * rd[i + 1][j];
now *= ru[i][k + 1] * lu[i - 1][k];
ans += now;
// printf("%lld %lld %lld %lld\n", i, j, k, now.x);
}
}
// cout << ans.x << endl;
vector<string> ns(m, string(n, ' '));
rep(i, n) rep(j, m) {
char c = s[i][j];
if (c == 'W' or c == 'N') c = 'W' + 'N' - c;
if (c == 'S' or c == 'E') c = 'S' + 'E' - c;
ns[j][i] = c;
}
swap(s, ns);
swap(n, m);
}
cout << ans.x << '\n';
}
int main() {
cin.tie(0)->sync_with_stdio(0);
int t;
cin >> t;
while (t--) solve();
}
詳細信息
Test #1:
score: 100
Accepted
time: 2ms
memory: 35664kb
input:
5 11 5 NNNNN NN??? WW??? WWEEE WEEEE WEEEE WWEEE WWEE? SSSSS ?SSS? ??SS? 2 7 ??S?N?? ??S?N?? 3 4 W??E WEEE ?E?? 2 2 ?? ?? 3 3 ??? ??? ???
output:
26 1587 18 56 1112
result:
ok 5 number(s): "26 1587 18 56 1112"
Test #2:
score: 0
Accepted
time: 2ms
memory: 35536kb
input:
100 4 4 ??NN ???? ???? S?S? 4 4 ???? ???? ??E? ??S? 4 4 ???? ??NE ?S?E S?S? 4 4 WN?? W??? ?S?? ??S? 4 4 ?N?? ???? ?S?? ??S? 4 4 ???? W??? ???? ???? 4 4 W??? W?N? ??E? ???E 4 4 ??N? ???? W?EE ?S?? 4 4 ??N? ??N? ?S?? S??E 4 4 ???? ???? ???E ?S?E 4 4 W??? W?N? W?E? S??? 4 4 WN?? ???? ???? ???? 4 4 ?N??...
output:
3280 4026 468 936 3627 15949 462 1362 858 5930 147 5520 1212 9733 2932 408 144 823 11866 7676 1212 477 458 96 2004 6949 2201 144 4612 15949 62 108 108 340 1212 936 3118 738 1568 954 104 4934 3350 276 1160 2649 974 360 374 1761 756 4369 477 1280 9826 72 980 1740 3280 3843 892 3214 1012 72 5681 1042 3...
result:
ok 100 numbers
Test #3:
score: 0
Accepted
time: 1ms
memory: 35660kb
input:
17 5 5 ????? ??N?? ????? ????? NW??? 3 5 ????? ????? E???? 5 3 S?S ??? ??? ??? ??? 4 4 ?E?? ???S N??? ??W? 1 2 NW 1 2 EN 2 1 E N 2 1 S E 1 1 ? 1 1 S 1 10 ??NSNSNS?? 4 4 ???? ?NE? ?WS? ???? 4 4 ???? ?WN? ?SE? ???? 3 3 ??? ??? ??? 4 4 ?N?? ???E W??? ??S? 4 4 ??N? W??? ???E ?S?? 4 4 W??E ???? WEEE ????
output:
0 196 6 0 0 0 0 0 4 1 49 81 81 1112 3607 3607 525
result:
ok 17 numbers
Test #4:
score: 0
Accepted
time: 0ms
memory: 35664kb
input:
100 4 4 W?NN ??NE ??E? ?S?? 4 4 ?N?N WWN? WS?E ?SSE 4 4 ??NN ?WNE W?EE ??SE 4 4 WNNN ?WN? W??E ??S? 4 4 WNN? ???E ?SEE ?S?? 4 4 ??NN W??E ?S?? ??SE 4 4 WNNN WW?E WSEE SSSE 4 4 WN?N WW?E ?SEE ?SS? 4 4 WN?? ?W?E WS?? S??E 4 4 W??N ??NE WSEE ??S? 4 4 W??N ??NE ???E S??E 4 4 ?N?N W?N? ??EE ???E 4 4 ?N?N...
output:
144 24 24 84 192 216 3 18 35 24 201 412 384 168 72 66 36 24 716 106 24 198 104 12 4 24 46 240 624 70 36 147 144 48 92 238 294 12 700 96 24 293 750 174 408 120 288 16 312 336 36 846 52 3691 1459 312 54 96 232 448 24 1158 2391 86 40 120 126 36 360 156 28 153 36 154 1212 16 160 96 66 178 93 156 36 192 ...
result:
ok 100 numbers
Test #5:
score: 0
Accepted
time: 4ms
memory: 35660kb
input:
100 5 5 ????? ????? ????? ??SE? ??S?? 5 5 ????? ???N? ????E ????E ??S?? 5 5 ?N??N ?W??? ?W??? ??S?E SS??? 5 5 W???? ???NE WW??? ??SE? S???E 5 5 ???N? ????E ????? ???E? ?SS?E 5 5 ??N?? W???E ???E? WSSE? S???? 5 5 WN??N ???N? ????? W???E ???S? 5 5 ?NN?N ??N?? ???EE ????? S???? 5 5 ???N? ????? W???? ??...
output:
62196 84123 4080 744 36736 2379 9952 17487 25920 48774 28280 4196 236992 4888 11830 8022 22371 2385 6402 2376 57284 2823 2876 5744 7532 4542 12420 245266 114732 3420 37209 3381 4266 900 372 15336 9186 77644 39084 19770 2994 5724 84114 1154 56746 2406 3250 69785 2592 29811 10786 7200 6687 6984 9246 4...
result:
ok 100 numbers
Test #6:
score: 0
Accepted
time: 2ms
memory: 35656kb
input:
100 5 5 W?N?N ??NN? ?W??? ?S?E? ?S??? 5 5 ????? ?WNN? WW??E W?S?? ?S?S? 5 5 W??NN W?N?E ????E ??S?E S??SE 5 5 ?N?N? ??NNE ?W?EE WSS?E SSSSE 5 5 WNN?N ???N? W???E WS??? ??S?? 5 5 WN?NN ?W??? WW?E? ??SEE S?S?E 5 5 W?N?N W??NE ?W??? W?SEE SSSS? 5 5 W?NNN ???N? ???E? ????? ?SSSE 5 5 WNNN? ?WNN? WW?EE ??...
output:
1521 2088 1098 80 3272 234 188 2656 72 2909 13088 6499 192 2840 1268 1392 1644 1116 512 66 2832 1344 1704 5588 448 1890 972 624 360 156 15405 4950 3824 624 120 108 1488 192 80 732 216 444 9987 1188 440 1488 780 92979 1480 5314 684 126 180 684 1032 6832 92 808 1952 276 774 232 152 1392 960 1614 192 4...
result:
ok 100 numbers
Test #7:
score: 0
Accepted
time: 3ms
memory: 35652kb
input:
100 4 4 ??NN ???? ???? S?S? 4 4 ???? ???? ???? ??S? 4 4 ???? ???E ???E S?S? 4 4 WN?? W??? ???? ??S? 4 4 ?N?? ???? ???? ??S? 4 4 ???? W??? ???? ???? 4 4 W??? W??? ???? ???E 4 4 ??N? ???? W??E ?S?? 4 4 ??N? ???? ???? S??E 4 4 ???? ???? ???E ?S?E 4 4 W??? W??? W??? S??? 4 4 WN?? ???? ???? ???? 4 4 ?N??...
output:
3280 15949 3896 2907 10238 15949 4877 3312 3555 5930 2635 5520 3096 9733 7339 1648 936 2895 11866 7676 2613 5520 3691 1238 4270 6949 2201 4184 4612 15949 512 4594 6114 4184 2613 2879 7282 1589 4116 3641 1212 4934 7646 986 4369 9868 2635 2512 1745 7339 7765 4369 4686 1280 9826 2120 2398 9826 3280 123...
result:
ok 100 numbers
Test #8:
score: 0
Accepted
time: 3ms
memory: 35556kb
input:
100 4 4 W?NN ???E ???? ?S?? 4 4 ?N?N W??? W??E ?SSE 4 4 ??NN ???E W??E ??SE 4 4 WNNN ???? W??E ??S? 4 4 WNN? ???E ???E ?S?? 4 4 ??NN W??E ???? ??SE 4 4 WNNN W??E W??E SSSE 4 4 WN?N W??E ???E ?SS? 4 4 WN?? ???E W??? S??E 4 4 W??N ???E W??E ??S? 4 4 W??N ???E ???E S??E 4 4 ?N?N W??? ???E ???E 4 4 ?N?N...
output:
1256 432 586 572 1118 634 56 348 437 778 624 1802 1398 426 474 1648 730 508 1594 106 572 1028 952 240 284 508 326 1028 1282 484 473 1380 5181 368 252 510 2262 204 3896 2291 672 719 1920 1362 5467 792 3583 1152 1648 818 4116 2656 832 3691 2713 1564 1367 1116 1250 1170 384 2728 4019 526 1007 3612 320 ...
result:
ok 100 numbers
Test #9:
score: 0
Accepted
time: 0ms
memory: 35612kb
input:
100 4 4 WNNN W??E W??E ?SSE 4 4 ?NN? W??E W??E SSSE 4 4 WNNN W??? W??E SSSE 4 4 WN?N W??E W??E SS?E 4 4 WNNN W??E W??E SSSE 4 4 WNNN W??E W??E SSSE 4 4 WNNN ???E W??E SS?E 4 4 WNNN W??E W??? SS?E 4 4 WNNN W??E W??E SSSE 4 4 WNNN W??E ???E ?SSE 4 4 WNNN W??E W??E SSSE 4 4 WNNN W??E W??E SSSE 4 4 WNNN...
output:
112 224 96 102 56 56 106 108 56 158 56 56 112 56 56 112 112 62 56 158 62 112 112 68 108 96 56 124 112 56 112 69 158 56 96 124 96 108 96 62 56 56 112 56 56 56 112 62 56 158 56 96 56 68 158 56 96 96 158 158 124 124 384 62 204 56 56 56 365 62 62 68 365 62 216 112 56 56 112 56 56 96 56 62 56 432 96 56 6...
result:
ok 100 numbers
Test #10:
score: 0
Accepted
time: 2ms
memory: 35660kb
input:
100 4 4 WNNN WWNE WSEE ?SSE 4 4 ?NN? WWNE WS?E SSSE 4 4 WNNN WWN? WSEE SSSE 4 4 WN?N WWNE WS?E SS?E 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN ?WNE WSEE SS?E 4 4 WNNN WWNE WSE? SS?E 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE ?S?E ?SSE 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN...
output:
2 12 2 6 1 1 2 2 1 9 1 1 2 1 1 18 18 3 1 10 3 2 2 3 2 2 1 2 2 1 2 1 2 3 2 2 6 2 2 3 1 3 6 3 3 1 2 3 1 63 1 2 1 8 2 1 2 6 3 6 2 2 24 1 12 3 1 1 8 3 1 1 24 1 4 2 3 3 2 1 1 2 1 1 3 6 2 3 3 1 1 9 4 6 2 1 2 8 2 1
result:
ok 100 numbers
Test #11:
score: 0
Accepted
time: 0ms
memory: 35656kb
input:
100 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE WSEE ?SSE 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE WSEE SSS? 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN WWNE WSEE SSSE 4 4 WNNN...
output:
1 1 1 2 1 1 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 2 1 1 2 1 4 1 1 1 1 1 1 3 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 3 1
result:
ok 100 numbers
Test #12:
score: 0
Accepted
time: 3ms
memory: 35548kb
input:
100 5 5 WNNNN WWNNE W??EE WSSEE S?SSE 5 5 WNNNN WWNNE ???E? WS?EE SSS?E 5 5 WNNNN WWN?E WW?EE WSSEE SSSSE 5 5 WNN?N WWNNE WW?EE WSSE? SSSSE 5 5 WNNNN WWNNE ?W?EE WSSE? ?SSSE 5 5 ?NNNN WWNNE WW?EE WSSEE S?SSE 5 5 WNNNN WWNNE W??E? WSSE? SSSS? 5 5 WN?NN WWNNE WW?EE W???E SSSS? 5 5 WNNNN WWNNE WW?EE ?S...
output:
8 36 8 4 8 8 16 76 16 64 8 4 8 4 8 44 8 18 8 22 16 8 8 4 8 40 8 28 8 48 32 9 48 12 4 8 16 4 96 8 8 4 16 8 18 8 68 8 4 8 16 9 8 16 12 40 16 8 16 16 16 4 8 16 16 39 124 16 8 4 22 16 24 328 8 8 44 8 64 8 44 4 8 8 8 8 8 8 4 4 4 8 4 32 4 16 8 16 4 72
result:
ok 100 numbers
Test #13:
score: 0
Accepted
time: 1ms
memory: 35664kb
input:
100 5 5 WNNNN WWNNE WW?EE WSSEE SSSSE 5 5 WNNNN WWNNE WW?EE WSSEE SSSSE 5 5 WNNNN WWNNE WW?EE WSSEE SSSSE 5 5 WNNNN WWNNE WW?EE WSSEE SSSSE 5 5 WNNNN WWNNE WW?EE WSSEE SSSSE 5 5 WNNNN WWNNE WW?EE WSSEE S?SSE 5 5 WNNNN WWNNE WW?EE WSSEE SSSSE 5 5 WNNNN WWNNE WW?EE WSS?E SSSSE 5 5 WNNNN WWNNE WW?EE WS...
output:
4 4 4 4 4 4 4 8 4 4 4 4 4 4 4 4 4 4 8 4 4 4 4 4 4 4 4 4 4 4 4 8 4 4 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 8 4 4 4 8 4 4 4 4 4 4 4 8 8 8 4 4 8 4 4 8 4 4 4 4 4 4 4 4 4 8 4 4 4 4 4 4 4 4 4 4 4 4 4 8 4 4
result:
ok 100 numbers
Test #14:
score: 0
Accepted
time: 1ms
memory: 35660kb
input:
100 6 6 WNNNNN WWNNNE WWWNEE WWSEEE WSSSEE ?SSSS? 6 6 WNN??N ?WNNNE WWWNEE WWSE?E WSS?EE SSSSSE 6 6 WN?NNN W??NNE W?WNEE WWSEEE WS?SE? SSSSSE 6 6 W?NNNN WWNNNE WWWNEE W?SEE? WSSSEE S?SSSE 6 6 WNNNN? WWNNNE WWWN?E ??SEE? WSSSEE SSS?SE 6 6 WNN?NN ?WNNNE WWWN?? WWSEE? WSSSEE S?SSSE 6 6 WNNN?N W?NNNE WW...
output:
4 2 3 4 8 2 2 1 2 3 10 24 2 12 6 4 2 3 1 1 4 4 16 6 4 8 4 10 2 2 16 6 6 6 1 24 4 1 4 2 3 12 12 4 14 2 18 1 3 32 6 6 4 8 3 1 5 2 24 18 12 96 4 4 8 3 16 4 1 24 6 1 6 2 2 2 12 4 2 12 6 6 8 3 6 3 1 12 4 1 4 2 12 2 2 2 2 16 4 3
result:
ok 100 numbers
Test #15:
score: 0
Accepted
time: 5ms
memory: 35532kb
input:
100 6 6 WNNNNN WWNNNE ?WWNEE WWSEEE WSSSEE SSSSSE 6 6 WNNNNN WWNNNE WWWNEE WWSEEE WSSSEE SSSSSE 6 6 WNNNNN WWNNNE WWWN?E WWSEEE WSSSEE SSSSSE 6 6 WNNNNN WWNNNE WWWNE? W?SEEE WSSSEE SSSSSE 6 6 WNNNNN WWNNNE WWWNE? WWSEEE WSSSEE SSSSSE 6 6 WNNNNN WWNNNE WWWNEE WWSEEE WSSSEE SSSSSE 6 6 WNNNNN WWNNNE WW...
output:
1 1 2 2 1 1 1 1 1 1 1 1 3 1 1 2 1 2 1 1 3 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 2 1 1 1 1 1 1 1 2 1 1 4 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 1 1 9 1 2 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
result:
ok 100 numbers
Test #16:
score: 0
Accepted
time: 0ms
memory: 35664kb
input:
100 5 5 WNNNN W???E W???E W???E S?SSE 5 5 WNNNN W???E ????? W???E SSS?E 5 5 WNNNN W???E W???E W???E SSSSE 5 5 WNN?N W???E W???E W???? SSSSE 5 5 WNNNN W???E ????E W???? ?SSSE 5 5 ?NNNN W???E W???E W???E S?SSE 5 5 WNNNN W???E W???? W???? SSSS? 5 5 WN?NN W???E W???E W???E SSSS? 5 5 WNNNN W???E W???E ??...
output:
1167 2118 1112 1222 2554 2334 3554 2424 1778 7792 1212 1112 1112 1112 2945 2053 1866 2497 1212 1167 4448 1112 1212 1167 1778 4707 1277 1833 1112 4877 4848 1212 19966 2945 1112 1778 4406 1112 7624 1866 1112 1212 2334 1778 2108 2032 2334 1112 1112 1212 2118 1212 1112 2224 3089 1267 2224 1167 2224 2032...
result:
ok 100 numbers
Test #17:
score: 0
Accepted
time: 3ms
memory: 35664kb
input:
100 5 5 W?N?N ????? ????? ????? ?S??? 5 5 ????? ????? W???E W???? ?S?S? 5 5 W??NN W???E ????E ????E S??SE 5 5 ?N?N? ????E ????E W???E SSSSE 5 5 WNN?N ????? W???E W???? ??S?? 5 5 WN?NN ????? W???? ????E S?S?E 5 5 W?N?N W???E ????? W???E SSSS? 5 5 W?NNN ????? ????? ????? ?SSSE 5 5 WNNN? ????? W???E ??...
output:
68780 107846 5301 7748 17619 7081 4406 14315 10801 5549 29902 34107 19172 41704 12899 19976 14673 13405 20720 1277 81812 13570 17058 79196 12767 72898 19369 33472 13932 5301 154115 63250 9418 2323 3104 5008 35639 5839 6449 23079 24279 12657 41780 34694 10174 21275 21787 149113 5384 12464 134998 8226...
result:
ok 100 numbers
Test #18:
score: 0
Accepted
time: 2ms
memory: 35664kb
input:
100 5 5 ????? ????E ????? ????E ????? 5 5 ????? ????? ????? ????? S???? 5 5 ????? ????? ????? ????E ?S??? 5 5 ??N?? ????? ????? ????E ???S? 5 5 ??N?? ????? ????? ????E S?S?E 5 5 W???? ????? ????? ????? ????? 5 5 ????? ????? ????? ????? ???S? 5 5 ????N ????E W???? ????? ????? 5 5 ????? ????? ????? ??...
output:
304812 295045 267282 176600 64775 295045 408362 97899 607712 305610 348526 206116 607712 295045 92970 607712 85899 137254 436030 607712 271680 436030 206116 100958 607712 295045 185016 607712 216858 176600 295045 607712 408362 133026 280284 607712 110693 408362 267282 408362 205549 607712 216858 800...
result:
ok 100 numbers
Test #19:
score: 0
Accepted
time: 3013ms
memory: 36984kb
input:
12 765 583 NNNNNNNNNN?N?NNNNN?NNNNN?NNNN?NN??NNNN?NNNNNNNNNN?NNNNNNNNNNNNNN?N?N?N?NN?NNNNNNNNNNNNNN?NNNN?NNNN?NNNNNNNN?NNNNN?NNNNNNNEEEEEEE?E?EEEEEE?EEEEEEE?EEEEEEEEEEEEEE?E?EEEEEEEE?E??EEEEEEEEEE?EEEEEEEEEEEEEE?EEE??EEEEE?EEE??EEEEEEEEEEEEEEEEEEEEEEEEEEE?EEE?EEEEEEEEEEEEEEEEEEEEEEE?EEEEEEEE?EEEEEEE...
output:
495851866 809507864 679420791 96 404843191 24576 206848 880640 238 876 32 1
result:
ok 12 numbers
Test #20:
score: 0
Accepted
time: 2380ms
memory: 36292kb
input:
22 315 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? W ? W ? ? ? ? ? ? ? ? W ? ? ? ? ? ? ? ? ? ? W ? ? ? ? ? E ? ? ? ? ? ? W ? ? ? ? E ? ? ? E ? ? W ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? W ? W ? ? ? ? ? ? ? ? ? W ? ? ? W ? ? ? ? ? E ? ? ? ? ? ? ? ? ? ? E ? ? ? ? ? ? E ? E ? ? ? ? W ? ?...
output:
477528076 932253017 546414821 436231729 767212961 753425299 746144816 69571238 94774841 712039816 100770782 536292699 933083168 749292585 233240851 531252741 404400992 730535288 377486731 14112 441 11
result:
ok 22 numbers
Test #21:
score: 0
Accepted
time: 2543ms
memory: 36544kb
input:
19 880 207 ?NN??N?N??N?NN?N?NNN??N??N??N?N?NN??N?NNN?N?NN?N?NN?N?N?N????N?NN???N?N?N?????N?N?N?N?NN????NN??????N?N??NNNN???NN?N??NN???N?NNNN???NNNN??N???N?NNNN???N?NNN??N???????N??NN??N??NN??NNN?N??N?N??NNNNNN?N?NN?NN? NNN???NN?N?N???NN??NNN?N??N????NNNN???N??NN?????N??NNNNNNNNN?NNNNN?N???NNN??NN??N...
output:
990920646 235051208 878168566 363195075 575282830 858642597 99475123 381319260 252544862 337440096 772543116 128902076 47387889 444596147 11946 24 3 1 4
result:
ok 19 numbers
Test #22:
score: 0
Accepted
time: 2315ms
memory: 36256kb
input:
24 860 251 NNNNNNN???NNNNN?N?NN?NN?N??NN???N??NNN????NNNNN??N??NNNN?NN?NNN??NNN?????N?NNN?N?NN?NNN??NNNNNNN?N?N?N?NEEEE?EE?EEE?E?E??E??EEE??E?E?EEE?E??EE?EEEEE??E?E?E??EEE????E?E?E??E??EEEEEEEE??E?E?E?E?EE??EEE??E??EE??E??E???EE?E?E??E?EEE?E?EEEEEE??EEEEE?E?E??E ?N?????NN???N?????NN?????N?N??N?N???N...
output:
341478607 178477640 238866597 760490789 257385777 966030498 382950 17975058 941514615 518956768 441211809 720564832 119182965 630491877 568600592 337282588 150218111 742601423 1174797 130397105 841359738 4 3 4
result:
ok 24 numbers
Test #23:
score: 0
Accepted
time: 2345ms
memory: 36268kb
input:
18 147 952 WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW...
output:
10 84 12 6 6 3 6 6 30 20 12 1 1 3 1 1 1 1
result:
ok 18 numbers
Test #24:
score: 0
Accepted
time: 3047ms
memory: 36836kb
input:
15 436 889 ????WW??WW??W?W??????????????W??W????W??W?????W??W?????W???W???????W?????WW?W?WWW????????W???W???????W??W???W??W??????W??WW???W????W???W??W?????W???W?W???W??W??WW????WW???W?W?????????WW??W??W??W?????W???????????????????WW???????W?????W??W????W???????W?????W?W????W??????W??W????????????W??...
output:
678653349 813503368 855534745 141741923 240556704 621219704 835678972 378931916 695727293 29409441 690997659 566505909 512 945 22
result:
ok 15 numbers
Test #25:
score: 0
Accepted
time: 2375ms
memory: 36324kb
input:
20 227 589 ??????????????N????????????????????????????N?????????N????N??N????????????????????????N???????????????N?N??????????????????????N????????????????????????????????????N??????????????????????????????????????????????????????????????????????????????????????????N???N?????????????????N??????????N...
output:
23724695 903940930 972972674 56000607 295146118 789975841 85356456 738999969 594065648 320536346 824044585 868075890 53458887 922844342 997807315 39224260 939578467 99855333 507873 120
result:
ok 20 numbers
Test #26:
score: 0
Accepted
time: 2496ms
memory: 36408kb
input:
24 63 10 NNN??NNNNN NNNN?NNNNN NNNN?N?NNN NNNN?NNNNN NNNN?NNNNN NNNN?NNNNN NN?N?NNNNN NNNN?NN?NN NNNN?NNNNN NNNN?NNNNN NNNN?NNNNN NN?N?NNNNN NNNN?NNNNN NNNN?NNNNN WNNN?NNNNN WNNN?NNNNN WNNN?NNEEE WWNN?NN?EE WWWN?EEEEE ???NEEEEEE WWWWS????? ????SEEEEE ????SSSSEE ????SSS?EE ????SSS?EE ????SSSSSS ????S...
output:
326370 312 48 511690219 3456 360710125 310378483 1474560 562036693 576 4 144 10616832 3686400 11520 192 4 2048 6144 1 144 1 1 1
result:
ok 24 numbers
Test #27:
score: 0
Accepted
time: 2815ms
memory: 36816kb
input:
15 760 907 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN...
output:
1179648 3 26880 48 1168 384 700 4 4 4554 31000 171 1 2 1
result:
ok 15 numbers
Test #28:
score: 0
Accepted
time: 1ms
memory: 35660kb
input:
100 5 5 ????? ????E ???E? ????E ????? 5 5 ????? ????? ????? ????? S???? 5 5 ????? ????? ????? ??S?E ?S??? 5 5 ??N?? ????? ???E? ????E ???S? 5 5 ??N?? ?W??? ???E? ?S??E S?S?E 5 5 W???? ????? ????? ????? ????? 5 5 ????? ????? ????? ????? ???S? 5 5 ????N ????E W???? ????? ????? 5 5 ????? ???N? ???E? ??...
output:
183652 295045 131874 85068 5940 295045 408362 97899 62196 46395 348526 28359 264396 116672 48975 607712 85899 137254 147159 159947 101076 175350 9288 100958 607712 295045 16384 73199 216858 48972 295045 73199 408362 133026 280284 264396 110693 56949 39262 408362 205549 108046 216858 80044 88164 1471...
result:
ok 100 numbers
Test #29:
score: 0
Accepted
time: 10ms
memory: 35660kb
input:
100 20 20 ????????????????N??? ???????????????????? ???????????????????? ???????????????????? ???????????????????? ???????????????????? ???????????????????? ???????????????????? ???????????????????? ????????W??????????? ???????????????????? ???????????????????? ???????????????????? ?????????????????...
output:
586796468 221211796 867397739 362607979 883021206 233724419 343425119 807220470 691873075 560628093 688228894 336900540 353947584 709868107 916478088 850736219 964417914 633008700 217817356 391493420 814621992 293860528 267902871 717565266 834296852 221211796 498799202 60757172 946016985 755859677 4...
result:
ok 100 numbers
Test #30:
score: 0
Accepted
time: 292ms
memory: 35528kb
input:
100 100 100 ????????N???????????N????????????????????????????????????????????N??????NNN??????????N?????N?N?????? W?N?????N?N????????????????N??????????????N???????????????????????N????????????????????NN?????????N? ????????N?????N???????????N????????N??????????????????N??NN???????????N?????N?????????...
output:
758848487 861154028 602970439 512446399 25663106 724414534 700731192 546538125 116542851 117480947 938035713 885313028 441819094 408274153 151433929 226379666 16039612 774453614 449416623 492626771 863800251 660202519 299435234 458909323 190525323 485308641 960961388 880110687 66149174 706826258 735...
result:
ok 100 numbers
Test #31:
score: 0
Accepted
time: 1437ms
memory: 35792kb
input:
50 200 200 ????????????????????????????????????????????????????????????????????????????N???????????????N???????????????????????????????????????????????N?????????????????????N??????????????????N?????????????????? ??????????????????????N????????????????????????????????N????????????????????????????????...
output:
247704959 744325470 198507833 715432657 840365608 873993617 331697995 761138370 146516677 940965919 233927536 700743722 455157827 578805483 12012052 585224966 989820960 564474059 69742457 530873230 23842490 897292407 883766446 973730723 509472518 898956780 732133520 274060035 447634090 906966470 368...
result:
ok 50 numbers
Test #32:
score: -100
Time Limit Exceeded
input:
2 1000 1000 ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...