QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#884210#9769. Rolling Stonespt3155420267WA 1ms4096kbC++141.7kb2025-02-05 22:08:572025-02-05 22:08:59

Judging History

This is the latest submission verdict.

  • [2025-02-05 22:08:59]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 4096kb
  • [2025-02-05 22:08:57]
  • Submitted

answer

#include <bits/stdc++.h>
// #define int long long
#define endl '\n'
#define pii pair<int,int>

using namespace std;

const int N = 300;

int n;
int a[N][N],b[N][N],step[N][N];
bool v[N][N];
bool vis[N][N];
int edx,edy;
int ans = INT_MAX;

int u[3][2] = {{0,-1},{0,1},{1,1}};

bool pd(int x,int y){
    return x>=1&&x<=n&&y>=1&&y<=(2*x-1);
}

void dfs(int x,int y,int step){
    if(x == edx && y == edy){
        ans = min(ans,step);
        return;
    }
    if(v[x][y]&&!vis[x][y]){
        vis[x][y] = 1;
        for(int i = 0;i<3;i++){
            int xx = x+u[i][0];
            int yy = y+u[i][1];
            if((y%2==0&&i==2)||(!pd(xx,yy))) continue;
            dfs(xx,yy,step+1);
        }
    }
}

void solve(){
    cin>>n;
    for(int i = 1;i<=n;i++){
        for(int j = 1;j<=2*i-1;j++){
            cin>>a[i][j];
            step[i][j] = INT_MAX;
        }
    }
    step[1][1] = 0;
    cin>>edx>>edy;
    for(int i = 1;i<=n;i++){
        for(int j = 1;j<=2*i-1;j++){
            if(i&1){
                int x = j-1; x%=4;
                b[i][j] = 4-x;
            } else {
                int x = j-1; x%=4;
                b[i][j] = x+1;
            }
        }
    }
    for(int i = 1;i<=n;i++){
        for(int j = 1;j<=2*i-1;j++){
            if(a[i][j] == b[i][j]) v[i][j] = 1;
        }
    }
    // for(int i = 1;i<=n;i++){
    //     for(int j = 1;j<=2*i-1;j++){
    //         cout<<v[i][j]<<" ";
    //     }
    //     cout<<endl;
    // }
    dfs(1,1,0);
    if(ans == INT_MAX) cout<<-1<<endl;
    else cout<<ans<<endl;
}

signed main(){
    // int T; cin>>T; while(T--)
    solve();
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3584kb

input:

3
4
3 2 3
4 3 2 1 3
3 1

output:

6

result:

ok 1 number(s): "6"

Test #2:

score: 0
Accepted
time: 1ms
memory: 3584kb

input:

3
4
3 3 3
4 3 2 1 3
3 1

output:

-1

result:

ok 1 number(s): "-1"

Test #3:

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

input:

2
4
1 3 3
2 3

output:

-1

result:

ok 1 number(s): "-1"

Test #4:

score: 0
Accepted
time: 1ms
memory: 3584kb

input:

2
4
1 2 3
2 2

output:

1

result:

ok 1 number(s): "1"

Test #5:

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

input:

100
4
1 2 3
4 3 1 1 4
1 3 3 4 1 2 3
2 2 2 1 2 2 2 4 4
4 1 2 4 2 1 4 2 1 2 2
4 3 3 1 2 4 2 1 4 4 2 3 4
3 2 3 1 1 4 2 4 3 2 3 4 1 4 3
4 4 2 1 3 3 2 1 4 3 3 3 4 3 2 1 2
1 2 4 3 1 1 4 4 1 2 3 3 4 1 3 4 2 2 2
1 3 2 2 4 3 4 1 4 3 2 2 4 3 2 1 4 4 2 1 3
3 2 2 4 4 4 1 4 1 2 3 1 3 2 3 4 1 2 3 4 1 1 3
2 2 4 2 ...

output:

-1

result:

ok 1 number(s): "-1"

Test #6:

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

input:

100
4
1 3 3
2 3 2 1 4
1 1 1 4 1 4 3
4 2 2 1 4 3 2 1 4
4 3 3 4 1 2 2 4 3 4 2
4 3 2 1 1 2 2 1 4 4 2 1 2
1 2 3 4 1 2 1 4 4 4 3 4 1 4 3
1 3 4 2 3 4 3 1 4 2 2 1 4 1 1 3 4
2 2 3 4 3 2 2 4 4 1 3 4 2 2 3 4 3 1 3
3 3 3 2 4 3 2 2 4 3 1 1 4 3 1 1 4 1 2 2 3
1 2 2 4 3 2 3 3 2 4 3 4 1 2 2 4 3 1 4 4 1 2 3
4 4 4 2 ...

output:

-1

result:

ok 1 number(s): "-1"

Test #7:

score: 0
Accepted
time: 1ms
memory: 3968kb

input:

100
4
1 2 3
4 3 2 1 4
1 2 2 3 1 1 4
2 3 4 2 4 3 2 3 4
4 2 3 4 1 2 3 1 1 2 3
1 3 1 3 4 4 2 1 2 1 2 3 4
2 1 1 4 1 1 3 4 2 3 3 4 1 2 3
1 1 2 1 1 3 2 1 1 3 2 1 1 3 2 3 4
2 2 1 4 1 2 2 4 1 4 2 2 1 1 3 3 1 4 3
4 2 2 4 4 3 2 1 4 3 2 2 1 4 2 1 4 3 4 2 4
1 2 3 3 1 2 3 2 1 2 3 4 2 1 3 4 4 3 3 2 1 2 3
2 3 2 1 ...

output:

-1

result:

ok 1 number(s): "-1"

Test #8:

score: 0
Accepted
time: 1ms
memory: 3968kb

input:

100
4
1 1 4
4 3 2 1 4
3 2 1 4 1 4 3
1 3 3 1 2 2 3 3 3
1 2 3 1 1 2 3 2 1 1 1
1 3 2 1 4 3 2 1 4 3 2 1 1
2 2 3 3 3 2 3 4 4 3 3 4 1 3 4
4 3 2 3 4 1 2 1 4 3 1 1 2 2 1 1 1
1 2 3 2 1 1 2 4 3 2 3 4 1 2 3 4 1 3 3
4 4 3 2 4 3 2 3 3 3 3 2 4 3 2 1 3 3 2 1 4
2 2 3 4 1 2 3 4 3 2 3 4 3 2 3 4 4 2 1 4 1 2 3
4 3 4 4 ...

output:

-1

result:

ok 1 number(s): "-1"

Test #9:

score: 0
Accepted
time: 1ms
memory: 3968kb

input:

100
4
1 4 3
4 3 3 1 4
1 2 3 4 1 2 3
1 3 1 1 4 3 2 1 4
1 2 3 2 2 1 1 4 3 2 4
4 3 1 3 4 3 3 2 2 3 1 3 2
3 2 4 4 1 2 3 3 1 4 3 4 1 3 1
4 4 2 1 4 3 2 1 4 3 2 1 4 3 2 1 4
1 2 3 4 3 1 3 4 1 2 1 4 1 2 3 4 1 1 3
2 3 2 1 2 3 2 1 4 4 2 1 2 3 2 1 4 3 1 1 4
1 2 4 4 1 3 3 4 1 2 2 4 1 2 3 4 4 4 3 2 1 2 1
4 3 2 1 ...

output:

-1

result:

ok 1 number(s): "-1"

Test #10:

score: 0
Accepted
time: 1ms
memory: 3840kb

input:

100
4
4 1 3
4 3 2 1 1
4 2 2 4 1 2 4
2 3 1 2 1 3 2 1 4
1 3 3 4 1 2 1 4 1 4 3
3 3 2 1 1 3 2 2 4 3 2 1 4
1 2 3 1 1 2 3 4 1 3 3 3 1 2 1
4 1 2 1 4 3 2 1 4 2 2 1 4 3 2 1 4
2 4 3 2 1 2 3 2 1 3 3 4 2 2 3 4 1 2 3
4 3 2 1 4 2 2 2 4 3 2 1 4 2 2 1 3 3 4 4 4
1 2 3 1 3 2 3 4 2 2 3 4 1 2 3 4 1 2 2 4 1 3 1
4 3 2 2 ...

output:

-1

result:

ok 1 number(s): "-1"

Test #11:

score: 0
Accepted
time: 1ms
memory: 3968kb

input:

100
4
1 2 3
1 3 2 1 2
1 2 2 4 4 4 3
2 3 2 3 4 3 2 1 4
1 2 4 4 1 2 1 4 1 4 3
2 3 1 1 2 3 2 1 4 3 2 1 4
1 2 3 4 1 2 3 4 1 4 3 4 3 2 3
4 3 2 1 4 3 2 2 4 3 2 1 4 3 2 1 4
1 2 3 4 1 1 3 4 4 3 3 4 1 2 3 4 1 2 3
4 3 2 1 4 3 4 1 1 3 3 2 4 4 2 1 4 3 2 3 3
1 2 3 4 1 2 4 4 1 2 1 4 1 2 3 3 4 3 2 4 1 3 3
2 3 2 1 ...

output:

-1

result:

ok 1 number(s): "-1"

Test #12:

score: 0
Accepted
time: 1ms
memory: 3968kb

input:

100
4
4 2 3
4 3 2 1 3
1 3 2 4 1 2 3
4 3 2 1 3 3 4 1 3
1 2 3 1 1 1 3 1 1 2 3
4 3 2 1 4 3 2 1 4 3 2 4 1
1 2 3 4 1 2 4 4 1 3 2 4 1 4 1
3 1 2 2 4 3 4 1 1 1 2 3 4 3 2 1 4
3 2 4 2 2 2 2 1 3 2 3 1 1 1 3 4 1 2 3
4 3 2 2 4 2 2 3 4 2 2 1 4 3 2 1 4 3 2 4 3
1 2 4 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 2
4 3 2 1 ...

output:

-1

result:

ok 1 number(s): "-1"

Test #13:

score: -100
Wrong Answer
time: 1ms
memory: 4096kb

input:

100
4
1 2 3
4 3 2 4 4
1 2 3 4 4 2 3
4 3 2 4 4 3 3 1 4
3 1 3 4 1 2 3 4 1 2 1
4 3 2 1 4 3 2 1 4 4 3 1 4
1 2 3 4 1 2 3 4 1 2 3 1 1 4 3
4 1 2 3 4 3 2 1 4 3 2 1 4 4 3 1 3
1 2 1 4 2 2 4 4 1 2 3 4 1 2 3 3 2 2 3
4 1 3 1 4 3 2 2 4 1 2 1 3 3 2 1 4 1 2 3 4
1 2 3 4 3 3 1 4 1 2 3 1 1 2 3 4 1 2 3 3 1 2 3
4 3 2 1 ...

output:

45

result:

wrong answer 1st numbers differ - expected: '-1', found: '45'