QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#357444 | #404. Solitaire | user1234 | 0 | 0ms | 0kb | C++14 | 1.8kb | 2024-03-18 21:17:51 | 2024-03-18 21:17:52 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
int n;
//vector <vector<bool>> pusty(3, vector<bool>(30));
vector <vector<bool>> poczatkowy(3, vector<bool>(30));
const int mod = 1000000007;
void wczytaj() {
cin >> n;
string a; cin >> a;
for (int i = 0; i < n; i++) poczatkowy[0][i] = (a[i] == 'o');
cin >> a;
for (int i = 0; i < n; i++) poczatkowy[1][i] = (a[i] == 'o');
cin >> a;
for (int i = 0; i < n; i++) poczatkowy[2][i] = (a[i] == 'o');
}
int znajdz_wynik(vector <vector<bool>> plansza) {
bool czy_kazdy_pelny = false;
long long wynik = 0;
vector <vector<bool>> plansza_kopiowana;
for (int w = 0; w < 3; w++) {
for (int i = 0; i < n; i++) {
czy_kazdy_pelny = czy_kazdy_pelny + !plansza[w][i];
if (plansza[w][i]) continue;
if (w == 1 && plansza[0][i] && plansza[2][i]) {
plansza_kopiowana = plansza;
plansza_kopiowana[w][i] = true;
wynik += znajdz_wynik(plansza_kopiowana);
}
else if (i > 0 && i < n - 1 && plansza[w][i - 1] && plansza[w][i + 1]) {
plansza_kopiowana = plansza;
plansza_kopiowana[w][i] = true;
wynik += znajdz_wynik(plansza_kopiowana);
}
}
}
if (!czy_kazdy_pelny) return 1;
return wynik % mod;
}
bool czy_pusta(vector <vector<bool>> plansza) {
for (int w = 0; w < 3; w++) {
for (int i = 0; i < n; i++) {
if (plansza[w][i]) return false;
}
}
return true;
}
int main() {
//ios_base::sync_with_stdio(0);
//cin.tie(0);
wczytaj();
//if (czy_pusta(poczatkowy)) {
//cout << 0;
//return 0;
//}
cout << znajdz_wynik(poczatkowy);
}
詳細信息
Subtask #1:
score: 0
Time Limit Exceeded
Test #1:
score: 0
Time Limit Exceeded
input:
21 ooooxoooooxoooooxoooo oooxooooooooxxxxxooxo ooxooooooooooooooooxo
output:
result:
Subtask #2:
score: 0
Runtime Error
Test #13:
score: 0
Runtime Error
input:
880 ooxooooooxoxoooxoxoooooxooxooooxoxooooooooooooooxooooooxoxooooxooooxoxooooooxoxooooooooooxoxooooxooxooxoooooooooooxoxoooooxoooooxoxoxooxoooxooxooooxooooxoxoxoooxoooooxoooxooxoxoooooooxooooxooooooxooooxoxooxoooooxoxooooxooxooooooooooooooxoooooooooooxooooooooooooooxooooxoxoxooooooxooooooooxooooxoo...
output:
result:
Subtask #3:
score: 0
Time Limit Exceeded
Test #38:
score: 0
Time Limit Exceeded
input:
27 oxooooxooooooxoooxoooooxoxo xxooxooooxxxoxoooxooxxxxxoo ooxoxoxoxoooxoxooooxoxooxoo
output:
result:
Subtask #4:
score: 0
Skipped
Dependency #1:
0%
Subtask #5:
score: 0
Skipped
Dependency #1:
0%