QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#357196#404. Solitairepiokemon#10 12ms4180kbC++141.3kb2024-03-18 19:16:092024-03-18 19:16:10

Judging History

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

  • [2024-03-18 19:16:10]
  • 评测
  • 测评结果:10
  • 用时:12ms
  • 内存:4180kb
  • [2024-03-18 19:16:09]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;

string grid[3];
constexpr ll mod = 1e9+7;
pair<int,int> poz[17];
ll dp[(1<<17)+9];

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin >> n;
    cin >> grid[0];
    cin >> grid[1];
    cin >> grid[2];
    int nr=0;
    for (int x=0;x<3;x++){
        for (int y=0;y<n;y++){
            if (grid[x][y]=='x'){
                poz[nr++]={x,y};
            }
        }
    }
    dp[(1<<nr)-1]=1;
    for (int mask=(1<<nr)-2;mask>=0;mask--){
        for (int x=0;x<nr;x++){
            if (mask&(1<<x))grid[poz[x].first][poz[x].second]='o';
        }
        for (int x=0;x<nr;x++){
            if (!(mask&(1<<x))){
                bool mozna=0;
                if (poz[x].first==1 && grid[0][poz[x].second]=='o' && grid[2][poz[x].second]=='o')mozna=1;
                if (poz[x].second>=1 && poz[x].second<n-1 && grid[poz[x].first][poz[x].second-1]=='o' && grid[poz[x].first][poz[x].second+1]=='o')mozna=1;
                if (mozna)dp[mask] = (dp[mask]+dp[mask | (1<<x)])%mod;
            }
        }
        for (int x=0;x<nr;x++){
            if (mask&(1<<x))grid[poz[x].first][poz[x].second]='x';
        }
    }
    cout << dp[0] << '\n';
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 1ms
memory: 3640kb

input:

21
ooooxoooooxoooooxoooo
oooxooooooooxxxxxooxo
ooxooooooooooooooooxo

output:

319334400

result:

ok single line: '319334400'

Test #2:

score: 0
Accepted
time: 6ms
memory: 3792kb

input:

27
oxoooxooooooooooooooooooooo
ooooooxxxxoooooxoxooooxoooo
oooxooxooxoooxoooxoooooxooo

output:

188603933

result:

ok single line: '188603933'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3704kb

input:

20
oooooooooxooooxoooxo
oxoxoooooooxooooooxo
ooooooooxooooooooooo

output:

40320

result:

ok single line: '40320'

Test #4:

score: 0
Accepted
time: 12ms
memory: 4136kb

input:

13
ooxoxoxooxooo
xoxxxoxxxooxo
ooooxoxoxoxoo

output:

22599513

result:

ok single line: '22599513'

Test #5:

score: 0
Accepted
time: 12ms
memory: 4060kb

input:

13
oxoxooxooxooo
xooxxxxoxoxxx
ooxooooxoxooo

output:

17662907

result:

ok single line: '17662907'

Test #6:

score: 0
Accepted
time: 12ms
memory: 4060kb

input:

11
oxoxoxoxoxo
xxxxoxoxoxo
oxoxoxooxoo

output:

891195994

result:

ok single line: '891195994'

Test #7:

score: 0
Accepted
time: 12ms
memory: 4132kb

input:

14
ooxoooxoxoooxo
xoxxooooxxxoxx
oooxoxooooxoxo

output:

549439514

result:

ok single line: '549439514'

Test #8:

score: 0
Accepted
time: 12ms
memory: 4132kb

input:

14
ooxoooooxooxoo
xxxxxxoxxoxoox
oxoooooxoxoooo

output:

278974156

result:

ok single line: '278974156'

Test #9:

score: 0
Accepted
time: 12ms
memory: 4144kb

input:

11
ooxooxoxoxo
xxxxxoooxox
oxoxoxoxoxo

output:

591208466

result:

ok single line: '591208466'

Test #10:

score: 0
Accepted
time: 11ms
memory: 4156kb

input:

11
ooxoxoxooxo
xxoooxxxxxx
ooxoxoxoxoo

output:

966753075

result:

ok single line: '966753075'

Test #11:

score: 0
Accepted
time: 11ms
memory: 4180kb

input:

15
oooxooooxooxooo
oxooxxoooxxxxxx
ooooxoxoooxoxoo

output:

727472313

result:

ok single line: '727472313'

Test #12:

score: 0
Accepted
time: 12ms
memory: 4116kb

input:

10
oxoxooxooo
xxxxxoxxxx
oxoxoxoxoo

output:

377955629

result:

ok single line: '377955629'

Subtask #2:

score: 0
Runtime Error

Test #13:

score: 0
Runtime Error

input:

880
ooxooooooxoxoooxoxoooooxooxooooxoxooooooooooooooxooooooxoxooooxooooxoxooooooxoxooooooooooxoxooooxooxooxoooooooooooxoxoooooxoooooxoxoxooxoooxooxooooxooooxoxoxoooxoooooxoooxooxoxoooooooxooooxooooooxooooxoxooxoooooxoxooooxooxooooooooooooooxoooooooooooxooooooooooooooxooooxoxoxooooooxooooooooxooooxoo...

output:


result:


Subtask #3:

score: 0
Runtime Error

Test #38:

score: 0
Runtime Error

input:

27
oxooooxooooooxoooxoooooxoxo
xxooxooooxxxoxoooxooxxxxxoo
ooxoxoxoxoooxoxooooxoxooxoo

output:


result:


Subtask #4:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #3:

0%

Subtask #5:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%