QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#357296#404. Solitairedebildebil10 12ms5708kbC++141.7kb2024-03-18 19:59:462024-03-18 19:59:47

Judging History

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

  • [2024-03-18 19:59:47]
  • 评测
  • 测评结果:10
  • 用时:12ms
  • 内存:5708kb
  • [2024-03-18 19:59:46]
  • 提交

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%