QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#773090 | #7751. Palindrome Path | Crysfly | WA | 38ms | 4388kb | C++14 | 2.7kb | 2024-11-23 00:47:47 | 2024-11-23 00:47:47 |
Judging History
answer
// what is matter? never mind.
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
//#pragma GCC target("sse,sse2,sse3,sse4,popcnt,abm,mmx,avx,avx2")
#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a);i<=(b);++i)
#define Rep(i,a,b) for(int i=(a);i>=(b);--i)
#define ll long long
//#define ll __int128
//#define ull unsigned long long
#define int long long
#define SZ(x) ((int)((x).size()))
#define ALL(x) (x).begin(),(x).end()
using namespace std;
inline int read()
{
char c=getchar();int x=0;bool f=0;
for(;!isdigit(c);c=getchar())f^=!(c^45);
for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);
return f?-x:x;
}
#define fi first
#define se second
#define pb push_back
#define mkp make_pair
typedef pair<ll,ll>pii;
typedef vector<int>vi;
#define maxn 500005
#define inf 0x3f3f3f3f
int n,m,sx,sy,tx,ty;
int a[33][33];
int dx[4]={1,0,-1,0};
int dy[4]={0,1,0,-1};
string opt="DRUL";
bool vis[33][33],vis2[33][33];
string res;
int vis3[33][33],sum3,nd;
bool flag;
bool mov(int d){
//cout<<"mov "<<opt[d]<<"\n";
int sum=0;
memset(vis2,0,sizeof vis2);
For(i,1,n)For(j,1,m)if(vis[i][j]){
if(!a[i+dx[d]][j+dy[d]]) vis2[i][j]=1;
if(a[i-dx[d]][j-dy[d]]) vis2[i-dx[d]][j-dy[d]]=1;
}
For(i,1,n)For(j,1,m)sum+=vis2[i][j];
if(!sum) return 0;
memcpy(vis,vis2,sizeof vis2);
res+=opt[d];
if(a[sx+dx[d]][sy+dy[d]]) sx+=dx[d],sy+=dy[d];
if(vis[sx][sy] && flag) {
string rev=res;
reverse(rev.begin(),rev.end());
cout<<res+rev<<"\n";
exit(0);
}
// cout<<"now "<<sx<<" "<<sy<<"\n";
// For(i,1,n)For(j,1,m)cout<<vis2[i][j]<<" \n"[j==m];
if(res.size()>500000){
puts("-1");
exit(0);
}
return 1;
}
bool vs[33][33];
void dfs(int x,int y){
vs[x][y]=1;
//cout<<"dfs "<<x<<" "<<y<<"\n";
For(d,0,3){
int xx=x+dx[d],yy=y+dy[d];
if(a[xx][yy] && !vs[xx][yy]) {
mov(d^2);
dfs(xx,yy);
mov(d);
}
}
}
mt19937_64 rnd(64);
void work()
{
n=read(),m=read();
For(i,1,n){
string s;cin>>s;
For(j,1,m)a[i][j]=(s[j-1]&1),nd+=a[i][j];
}
sx=read(),sy=read(),tx=read(),ty=read();
vis[tx][ty]=1;
dfs(tx,ty);
flag=1;
memset(vis,0,sizeof vis);
vis[tx][ty]=1;
// cout<<"SUM3 "<<sum3<<" "<<nd<<"\n";
while(1){
int d=rnd()%4;
For(_,1,max(n,m)) mov(d);
}
}
/*
*/
signed main()
{
// freopen("my.out","w",stdout);
int T=1;
while(T--)work();
return 0;
}
/*
9 30
111111111111111111111111111111
100000000000000000000000000000
111111111111111111111111111111
000000000000000000000000000001
111111111111111111111111111111
100000000000000000000000000000
111111111111111111111111111111
000000000000000000000000000001
111111111111111111111111111111
1 1 9 30
*/
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3548kb
input:
2 2 11 11 1 1 2 2
output:
DRUDLURRLLLLLLDDLLLLLLRRULDURD
result:
ok Valid Solution (Length = 30).
Test #2:
score: 0
Accepted
time: 16ms
memory: 4388kb
input:
2 2 10 01 1 1 2 2
output:
-1
result:
ok No Solution.
Test #3:
score: 0
Accepted
time: 1ms
memory: 3620kb
input:
1 1 1 1 1 1 1
output:
RR
result:
ok Valid Solution (Length = 2).
Test #4:
score: 0
Accepted
time: 1ms
memory: 3628kb
input:
5 4 1111 1111 1111 1111 1111 4 2 4 2
output:
ULLDDDDRUUUDRDDRUUUUDDDDLUULDDLUUUURRDRULLLLLLLLLLLLLLLDDDDLLLLLLLLLLLLLLLURDRRUUUULDDLUULDDDDUUUURDDRDUUURDDDDLLU
result:
ok Valid Solution (Length = 114).
Test #5:
score: 0
Accepted
time: 1ms
memory: 3596kb
input:
5 5 11111 10101 11111 10101 11111 1 4 5 5
output:
DDDDRRUUUULRRRDDLRDDLRUUUULLDDLRDDLLUUUURRRRRUUUUULLLDDDDDLLLLLRRRRRUUUDDDDUUURRRRRLLLLLDDDDDLLLUUUUURRRRRUUUULLDDRLDDLLUUUURLDDRLDDRRRLUUUURRDDDD
result:
ok Valid Solution (Length = 146).
Test #6:
score: 0
Accepted
time: 1ms
memory: 3628kb
input:
5 3 111 100 111 001 111 4 3 3 2
output:
LUURRLLDDRRDDLLRRUULRLLRLUURRLLDDRRDDLLRRUUL
result:
ok Valid Solution (Length = 44).
Test #7:
score: 0
Accepted
time: 1ms
memory: 3660kb
input:
5 4 1001 1101 1111 0011 0010 2 2 1 1
output:
UULLUUDLDDDUUURDRDURDDRRRRRUUUUULLLLLUUUUULLLLLLLLLLDDLLLLLLLLLLUUUUULLLLLUUUUURRRRRDDRUDRDRUUUDDDLDUULLUU
result:
ok Valid Solution (Length = 106).
Test #8:
score: 0
Accepted
time: 0ms
memory: 3592kb
input:
5 3 101 111 100 111 100 4 1 2 2
output:
LDURRUUUDLLRRDDDULRUUULLLLLLLLLLLLLLLDDLLLLLLLLLLLLLLLUUURLUDDDRRLLDUUURRUDL
result:
ok Valid Solution (Length = 76).
Test #9:
score: 0
Accepted
time: 1ms
memory: 3628kb
input:
5 5 01110 10110 11110 11011 11100 2 4 5 1
output:
LLRDDLLULRDDDRUDRLLUURRRUDDULUURLLLLLUUUUUDDDDDRRRRRUUUUUDDDDDDDDDDUUUUURRRRRUUUUUUUUUUDDDDDRRRRRLLLLLLLLLLLLLLLUUUUUUUUUUDDDDDDDDDDDDDDDUUUUURRRRRRRRRRRRRRRDDDDDUUUUULLLLLRRRRRUUUUUDDDDDDDDDDLLLLLLLLLLUUUUUUUUUUDDDDDUUUUUDDDDDUUUUURRRRRLLLLLUUUUUUUUUUDDDDDLLLLLLLLLLLLLLLRRRRRRRRRRRRRRRLLLLLRRRRRUUU...
result:
ok Valid Solution (Length = 766).
Test #10:
score: 0
Accepted
time: 0ms
memory: 3848kb
input:
5 3 011 111 110 111 011 3 1 2 1
output:
UULULDURDDDLDRLURUURDDUUUUULLUUUUUDDRUURULRDLDDDRUDLULUU
result:
ok Valid Solution (Length = 56).
Test #11:
score: 0
Accepted
time: 0ms
memory: 3564kb
input:
4 5 11111 11111 11111 11111 3 2 1 3
output:
UUULLDDDRUUDDLUUURRRDDDRUUUDDDLUUULDDDRRUUUUULLLLUUUUURRDDDLUUULDDDUUURDDDRRRUUULDDUURDDDLLUUU
result:
ok Valid Solution (Length = 94).
Test #12:
score: 0
Accepted
time: 1ms
memory: 3784kb
input:
5 5 11111 10101 11111 10101 11111 2 5 1 1
output:
UUUULLLLDDDDRRUUUDLRRLDDRLLLUUUURRRRDDDDUUUUULLLLUUUUUDDDDRRRRUUUULLLRDDLRRLDUUURRDDDDLLLLUUUU
result:
ok Valid Solution (Length = 94).
Test #13:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
4 5 11111 10000 11111 00001 1 3 4 5
output:
DRRRRDDLLLLRRRRUULLLLURRRRRLLLLLLLLLLLLLLLDDDDDLLLLLRRRRRDDRRRRRLLLLLDDDDDLLLLLLLLLLLLLLLRRRRRULLLLUURRRRLLLLDDRRRRD
result:
ok Valid Solution (Length = 116).
Test #14:
score: 0
Accepted
time: 27ms
memory: 4260kb
input:
3 5 10100 00010 00111 1 3 1 1
output:
-1
result:
ok No Solution.
Test #15:
score: 0
Accepted
time: 1ms
memory: 3624kb
input:
4 5 10001 11111 11100 11111 4 5 3 1
output:
ULLLLRRDDLLDURRRUDRDULLUURRDULLLLLUUUUULDDDDDRRRRDDDDDLUUUUULLLLLUDRRUULLUDRDURRRUDLLDDRRLLLLU
result:
ok Valid Solution (Length = 94).
Test #16:
score: 0
Accepted
time: 0ms
memory: 3552kb
input:
3 5 11111 10100 11111 1 2 3 5
output:
RRDDLLRRRRUULRDDLLUULLRRRRRUUUUULLLUUUUUDDDDDRRRRRUUUUUDDDDDDDDDDUUUUURRRRRUUUUUUUUUUDDDDDRRRRRLLLLLLLLLLLLLLLUUUUUUUUUUDDDDDLLLDDDDDDDDDDUUUUURRRRRRRRRRRRRRRDDDDDUUUUULLUUUUUDDDDDRRRRRRRRRRRRRRRUUUUUDDDDDDDDDDLLLDDDDDUUUUUUUUUULLLLLLLLLLLLLLLRRRRRDDDDDUUUUUUUUUURRRRRUUUUUDDDDDDDDDDUUUUURRRRRDDDDDUU...
result:
ok Valid Solution (Length = 338).
Test #17:
score: 0
Accepted
time: 36ms
memory: 4184kb
input:
4 5 01110 10101 11011 10111 1 3 2 3
output:
-1
result:
ok No Solution.
Test #18:
score: 0
Accepted
time: 1ms
memory: 3624kb
input:
5 5 11111 11111 11111 11111 11111 1 3 5 2
output:
LLLDDDDRUUURDDDRUUURUDDDDUUULDDDLUUULDDDLUUUURRRRLLLLLLLLLLLLLLLDDDDLLLLLLLLLLLLLLLRRRRUUUULDDDLUUULDDDLUUUDDDDURUUURDDDRUUURDDDDLLL
result:
ok Valid Solution (Length = 132).
Test #19:
score: 0
Accepted
time: 0ms
memory: 3592kb
input:
5 5 11111 10101 11111 10101 11111 5 1 2 3
output:
UUULLDDDDRRRRUUUULRDDLRDDLLLLUURLUURRDDDRRRRRUURRRRRDDDRRUULRUULLLLDDRLDDRLUUUURRRRDDDDLLUUU
result:
ok Valid Solution (Length = 92).
Test #20:
score: 0
Accepted
time: 0ms
memory: 3628kb
input:
5 5 11111 10000 11111 00001 11111 4 5 5 3
output:
LLDDRRRRDDLLLLRRRRUULLLLUURRRRLLRRUUUUULLLLLUUUUULLLLLLLLLLDDDDDLLLLLRRRRRUUUUUDDDDDDDDDDUUUUURRRUUUUUUUUUUDDDDDLLLLDDDDDUUUUUUUUUURRRUUUUUDDDDDDDDDDUUUUURRRRRLLLLLDDDDDLLLLLLLLLLUUUUULLLLLUUUUURRLLRRRRUULLLLUURRRRLLLLDDRRRRDDLL
result:
ok Valid Solution (Length = 228).
Test #21:
score: 0
Accepted
time: 32ms
memory: 4112kb
input:
5 5 01010 10101 10101 11001 10011 4 1 5 4
output:
-1
result:
ok No Solution.
Test #22:
score: 0
Accepted
time: 1ms
memory: 3628kb
input:
5 5 10101 11111 10101 11111 11111 3 1 2 4
output:
LUUURDRURDRUDDDLLUDDURRDUUULULDLULDDDDURRRRUUULLLLLLLLLLLLLLLDDDDLLLLLLLLLLLLLLLUUURRRRUDDDDLULDLULUUUDRRUDDULLDDDURDRURDRUUUL
result:
ok Valid Solution (Length = 126).
Test #23:
score: 0
Accepted
time: 0ms
memory: 3832kb
input:
5 5 00001 11111 01110 01111 01111 1 5 5 2
output:
LLLDRDDLDURRUURDDRLUULDDLUULURRRLLLLLLLLLLLLLLLDDDDDLLLLLRRRRRUUUUUDDDDDDDDDDUUUUURRRRRUUUUUUUUUUDDDDDRRRRRLLLLLLLLLLLLLLLUUUUUUUUUUDDDDDDDDDDDDDDDUUUUURRRRRRRRRRRRRRRDDDDDUUUUULLLLLRRRRRUUUUUDDDDDDDDDDUUUUUUUUUUDDDDDUUUUUDDDDDUUUUURRRRRLLLLLUUUUUUUUUUDDDDDRRRRRRRRRRRRRRRLLLLLRRRRRUUUUUDDDDDDDDDDRRR...
result:
ok Valid Solution (Length = 686).
Test #24:
score: 0
Accepted
time: 38ms
memory: 4260kb
input:
5 5 01011 10111 11011 10101 01110 4 1 2 3
output:
-1
result:
ok No Solution.
Test #25:
score: 0
Accepted
time: 1ms
memory: 3596kb
input:
10 8 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 7 7 3 6
output:
UUUUUUULLDDDDDDDDDRUUUUUUUUDDDDDDDRDRUUUUUUUUURDDDDDDDDDRUUUUUUUUURDDDDDDDDDRUUUUUUUUUDDDDDDDDDLUUUUUUUUULDDDDDDDDDLUUUUUUUUULDDDDDDDDDLULDLUUUUUUUUURRDDDDDDDRRRRRUUUUUUULLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLUUUUUUURRRRRDDDDDDDRRUUUUUUUUULDLULDDDDDDDDDLUUUUUUUUULDDDDD...
result:
ok Valid Solution (Length = 410).
Test #26:
score: 0
Accepted
time: 1ms
memory: 3784kb
input:
10 6 111111 101010 111111 101010 111111 101010 111111 101010 111111 101010 1 6 2 3
output:
UUUUUUUUDLLUDLRDDLRDDLRDDLRDDLRRRRRUUUUUUUUUDLRDDLRDDLRDDLRDDLLLLUURLUURLUURLUURRDDDDDDDRRRRRRRRRRUUUUUUUULLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDDDDDDDLLLLLLLLLLRRRRRRRRRRUUUUUUUUDDDDDDDDDDDDDDDDDDDDUUUUUUUUUURRUUUUUUUUUUDDDDDDDDDDDDDDDDDDDDUUUUUUUURRRRRRRRRRLLLLLLLLLLDDDDDDDDDDLLLLLLLLLLLLLLLLLLLLLLLLLL...
result:
ok Valid Solution (Length = 410).
Test #27:
score: 0
Accepted
time: 1ms
memory: 3624kb
input:
10 10 1111111111 1000000000 1111111111 0000000001 1111111111 1000000000 1111111111 0000000001 1111111111 1000000000 5 5 5 2
output:
LLLLLLLLDDRRRRRRRRRDDLLLLLLLLLRRRRRRRRRUULLLLLLLLLUURRRRRRRRRUULLLLLLLLLUURRRRRRRRRUDLLLLLLLLLDDRRRRRRRRRDDLRUUUUUUUUUULLLLLLLLLLUUUUUUUUUULLLLLLLLLLLLLLLLLLLLDDDDDDDDDDLLLLLLLLLLRRRRRRRRRRUUUUUUUUUUDDDDDDDDDDDDDDDDDDDDUUUUUUUUUURRRRRRRRRRUUUUUUUUUUUUUUUUUUUUDDDDDDDDDDRRRRRRRRRRLLLLLLLLLLLLLLLLLLLLL...
result:
ok Valid Solution (Length = 1628).
Test #28:
score: -100
Wrong Answer
time: 1ms
memory: 3624kb
input:
10 10 1010110101 0000011010 1001001001 0011111000 1000111100 1011101001 1100110011 0110001011 0011111000 0101011101 7 5 4 3
output:
LLUUULRDRRLLDLLUDLRDDDRDRLULUURLURRDRDURUUUUUUUUUULLLLLLLLLLUUUULLLLLLLLLLUUUUUUUUUURUDRDRRULRUULULRDRDDDRLDULLDLLRRDRLUUULL
result:
wrong answer (1,1) Not Visited