QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#141362 | #6515. Path Planning | cy1999 | WA | 27ms | 5500kb | C++11 | 931b | 2023-08-17 11:09:47 | 2023-08-17 11:09:50 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+5;
int x[N],y[N];
int t;
int n,m;
vector<pair<int,int> > w;
signed main()
{
cin>>t;
while(t--)
{
int p=-1;
w.clear();
cin>>n>>m;
int u1,u2;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
int a;
cin>>a;
x[a]=i;
y[a]=j;
if(i==1&&j==1)
{
u1=a;
}
if(i==n&&j==m)
{
u2=a;
}
}
}
w.push_back(make_pair(u1,u2));
while(1)
{
int f=0;
p++;
int lw=w.size();
for(int i=0;i<lw;i++)
{
int a=w[i].first;
int b=w[i].second;
if(x[p]>=x[a]&&x[p]<=x[b]&&y[p]>=y[a]&&y[p]<=y[b])
{
f=1;
if(p==a||p==b)
{
break;
}
w[i].second=p;
w.push_back(make_pair(p,b));
break;
}
}
if(f==0)
{
break;
}
}
cout<<p<<endl;
//assert(p>0);
}
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 5448kb
input:
2 2 3 1 2 4 3 0 5 1 5 1 3 0 4 2
output:
3 5
result:
ok 2 number(s): "3 5"
Test #2:
score: -100
Wrong Answer
time: 27ms
memory: 5500kb
input:
10000 2 9 4 0 3 5 2 7 16 11 12 9 13 14 17 10 8 15 1 6 4 8 19 23 22 13 29 4 17 26 30 6 25 3 15 24 18 14 12 8 7 9 27 5 0 10 11 16 31 20 2 28 1 21 1 6 3 2 0 1 4 5 2 3 4 2 0 3 5 1 5 1 4 0 3 2 1 1 3 1 0 2 8 10 9 50 8 0 41 57 60 30 23 65 64 21 36 12 10 5 58 19 38 67 71 52 45 17 77 4 59 51 22 25 56 49 79 2...
output:
9 2 6 3 5 3 14 13 5 9 5 7 6 9 7 4 6 7 13 9 10 9 6 1 5 7 4 2 10 4 18 5 12 3 7 6 9 2 1 5 6 10 8 4 2 5 2 5 7 13 6 10 3 10 3 6 9 8 3 10 2 3 3 5 8 4 7 7 7 8 8 6 6 5 3 7 8 13 3 3 6 5 4 3 10 5 12 7 2 11 6 7 5 10 9 5 3 10 2 5 3 8 7 10 5 4 10 4 6 5 9 4 10 6 3 5 4 4 7 4 8 3 12 5 4 5 8 6 8 3 7 9 3 6 12 4 6 6 6...
result:
wrong answer 53rd numbers differ - expected: '2', found: '3'