QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#357296 | #404. Solitaire | debildebil | 10 | 12ms | 5708kb | C++14 | 1.7kb | 2024-03-18 19:59:46 | 2024-03-18 19:59:47 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int N = 2008;
const int MOD = 1e9+7;
const int P16 = 1<<16 + 8;
int n;
bool pion[N][3];
int dp[P16];
bool nowaplansza[N][3];
void solve1 (int licz){
int pot = 1 << licz;
dp[0]=1;
for(int i=0; i<pot; i++){
int kopiai=i;
for(int j=0; j<3; j++){
for(int k=0; k<n; k++){
if(pion[k][j]) nowaplansza[k][j]=1;
else{
nowaplansza[k][j] = kopiai%2;
kopiai/=2;
}
}
}
kopiai=1;
for(int j=0; j<3; j++){
for(int k=0; k<n; k++){
if(!nowaplansza[k][j]){
bool dasie=0;
if(k>0&&k<n-1){
if(nowaplansza[k-1][j]&&nowaplansza[k+1][j]) dasie =1;
}
if(j==1){
if(nowaplansza[k][0]&&nowaplansza[k][2]) dasie = 1;
}
if(dasie){
dp[i|kopiai]+=dp[i];
dp[i|kopiai]%=MOD;
}
}
if(!pion[k][j]) kopiai*=2;
}
}
}
cout << dp[pot-1];
}
int main(){
cin >> n;
char znak;
int liczbaPionow=0;
for(int j=0; j<3; j++){
for(int i=0; i<n; i++){
cin >> znak;
if(znak=='o'){
pion[i][j]=1;
}
else{
pion[i][j]=0;
liczbaPionow++;
}
}
}
if(liczbaPionow<=16&&n<=30){
solve1(liczbaPionow);
return 0;
}
}
詳細信息
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 2ms
memory: 3628kb
input:
21 ooooxoooooxoooooxoooo oooxooooooooxxxxxooxo ooxooooooooooooooooxo
output:
319334400
result:
ok single line: '319334400'
Test #2:
score: 0
Accepted
time: 7ms
memory: 5708kb
input:
27 oxoooxooooooooooooooooooooo ooooooxxxxoooooxoxooooxoooo oooxooxooxoooxoooxoooooxooo
output:
188603933
result:
ok single line: '188603933'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3540kb
input:
20 oooooooooxooooxoooxo oxoxoooooooxooooooxo ooooooooxooooooooooo
output:
40320
result:
ok single line: '40320'
Test #4:
score: 0
Accepted
time: 9ms
memory: 3900kb
input:
13 ooxoxoxooxooo xoxxxoxxxooxo ooooxoxoxoxoo
output:
22599513
result:
ok single line: '22599513'
Test #5:
score: 0
Accepted
time: 9ms
memory: 3792kb
input:
13 oxoxooxooxooo xooxxxxoxoxxx ooxooooxoxooo
output:
17662907
result:
ok single line: '17662907'
Test #6:
score: 0
Accepted
time: 9ms
memory: 3804kb
input:
11 oxoxoxoxoxo xxxxoxoxoxo oxoxoxooxoo
output:
891195994
result:
ok single line: '891195994'
Test #7:
score: 0
Accepted
time: 10ms
memory: 3868kb
input:
14 ooxoooxoxoooxo xoxxooooxxxoxx oooxoxooooxoxo
output:
549439514
result:
ok single line: '549439514'
Test #8:
score: 0
Accepted
time: 11ms
memory: 3868kb
input:
14 ooxoooooxooxoo xxxxxxoxxoxoox oxoooooxoxoooo
output:
278974156
result:
ok single line: '278974156'
Test #9:
score: 0
Accepted
time: 4ms
memory: 3872kb
input:
11 ooxooxoxoxo xxxxxoooxox oxoxoxoxoxo
output:
591208466
result:
ok single line: '591208466'
Test #10:
score: 0
Accepted
time: 6ms
memory: 3904kb
input:
11 ooxoxoxooxo xxoooxxxxxx ooxoxoxoxoo
output:
966753075
result:
ok single line: '966753075'
Test #11:
score: 0
Accepted
time: 12ms
memory: 3864kb
input:
15 oooxooooxooxooo oxooxxoooxxxxxx ooooxoxoooxoxoo
output:
727472313
result:
ok single line: '727472313'
Test #12:
score: 0
Accepted
time: 9ms
memory: 3956kb
input:
10 oxoxooxooo xxxxxoxxxx oxoxoxoxoo
output:
377955629
result:
ok single line: '377955629'
Subtask #2:
score: 0
Wrong Answer
Test #13:
score: 0
Wrong Answer
time: 1ms
memory: 3640kb
input:
880 ooxooooooxoxoooxoxoooooxooxooooxoxooooooooooooooxooooooxoxooooxooooxoxooooooxoxooooooooooxoxooooxooxooxoooooooooooxoxoooooxoooooxoxoxooxoooxooxooooxooooxoxoxoooxoooooxoooxooxoxoooooooxooooxooooooxooooxoxooxoooooxoxooooxooxooooooooooooooxoooooooooooxooooooooooooooxooooxoxoxooooooxooooooooxooooxoo...
output:
result:
wrong answer 1st lines differ - expected: '934647418', found: ''
Subtask #3:
score: 0
Wrong Answer
Test #38:
score: 0
Wrong Answer
time: 1ms
memory: 3480kb
input:
27 oxooooxooooooxoooxoooooxoxo xxooxooooxxxoxoooxooxxxxxoo ooxoxoxoxoooxoxooooxoxooxoo
output:
result:
wrong answer 1st lines differ - expected: '106903779', found: ''
Subtask #4:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #3:
0%
Subtask #5:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
0%