当前位置:网站首页>Codeforces Round #416 (Div. 2) D. Vladik and Favorite Game
Codeforces Round #416 (Div. 2) D. Vladik and Favorite Game
2022-07-07 05:33:00 【Don't eat toast】
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <math.h>
#include <bitset>
#include <algorithm>
using namespace std;
#define X first
#define Y second
#define eps 1e-2
#define gcd __gcd
#define pb push_back
#define PI acos(-1.0)
#define lowbit(x) (x)&(-x)
#define bug printf("!!!!!\n");
#define mem(x,y) memset(x,y,sizeof(x))
typedef long long LL;
typedef long double LD;
typedef pair<int,int> pii;
typedef unsigned long long uLL;
const int N = 1e5+2;
const int INF = 1<<30;
const int mod = 1e9+7;
int n,m;
char ch[105][105],dr2[4]={
'D','U','R','L'};
int pre[105][105];
int dr[4][2]={
{
1,0},{
-1,0},{
0,1},{
0,-1}},vis[105][105];
pair<int,int> pre2[105][105];
int getd(int x,int y,int xx,int yy){
if(x-1==xx) return 1;
if(x+1==xx) return 0;
if(y-1==yy) return 3;
return 2;
}
bool check(int x,int y){
if(x>0&&x<=n&&y>0&&y<=m) return 1;
else return 0;
}
int edx,edy;
void sol1(){
for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(ch[i][j]=='F') edx=i,edy=j;
int sx=1,sy=1;
queue< pair<int,int> > q;
q.push({
sx,sy});
while(q.size()){
auto tp=q.front();q.pop();
vis[tp.first][tp.second]=1;
// cout<<tp.first<<" "<<tp.second<<endl;
for(int i=0;i<4;i++){
int x=tp.first+dr[i][0],y=tp.second+dr[i][1];
if(vis[x][y]==1||ch[x][y]=='*'||check(x,y)==0) continue;
q.push({
x,y});
vis[x][y]=1;
pre2[x][y]=tp;
}
}
// return ;
sx=edx,sy=edy;
// cout<<sx<<" "<<sy<<endl;
// cout<<pre2[sx][sy].first<<" "<<pre2[sx][sy].second<<endl;
while(sx!=1||sy!=1){
int px=sx,py=sy;
sx=pre2[px][py].first;
sy=pre2[px][py].second;
pre[sx][sy]=getd(sx,sy,px,py);
// cout<<sx<<" "<<sy<<endl;
// cout<<pre[sx][sy]<<" "<<dr2[pre[sx][sy]]<<endl;
}
}
map<int,int> mp;
void solve(){
for(int i=0;i<=3;i++) mp[i]=i;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) scanf("%s",ch[i]+1);
sol1();
int sx=1,sy=1;
while(sx!=edx||sy!=edy){
int mpop=mp[pre[sx][sy]];
// cout<<mpop<<endl;
cout<<dr2[mpop]<<endl;
int tsx=sx+dr[mpop][0],tsy=sy+dr[mpop][1];
// cout<<tsx<<" "<<tsy<<endl;
int tx,ty;cin>>tx>>ty;
if(tsx!=tx||tsy!=ty){
if(pre[sx][sy]==1||pre[sx][sy]==0) mp[0]=1,mp[1]=0;
else mp[2]=3,mp[3]=2;
mpop=mp[pre[sx][sy]];
cout<<dr2[mpop]<<endl;
cin>>tx>>ty;
}
sx=tx;sy=ty;
}
return;
}
int main()
{
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
// ios::sync_with_stdio(false);
int t = 1;
//scanf("%d",&t);
while(t--){
// printf("Case %d: ",cas++);
solve();
}
return 0;
}
边栏推荐
- Leetcode (417) -- Pacific Atlantic current problem
- NPDP产品经理认证,到底是何方神圣?
- 痛心啊 收到教训了
- Torch optimizer small parsing
- Complete code of C language neural network and its meaning
- TabLayout修改自定义的Tab标题不生效问题
- How does mapbox switch markup languages?
- 做自媒体视频剪辑,专业的人会怎么寻找背景音乐素材?
- Pytest testing framework -- data driven
- Wonderful express | Tencent cloud database June issue
猜你喜欢

论文阅读【Open-book Video Captioning with Retrieve-Copy-Generate Network】

论文阅读【Sensor-Augmented Egocentric-Video Captioning with Dynamic Modal Attention】

Zhang Ping'an: accelerate cloud digital innovation and jointly build an industrial smart ecosystem

A cool "ghost" console tool

DJ-ZBS2漏电继电器

分布式事务解决方案之TCC

How Alibaba cloud's DPCA architecture works | popular science diagram

Photo selector collectionview

ThinkPHP Association preload with

高压漏电继电器BLD-20
随机推荐
DOM-节点对象+时间节点 综合案例
MySQL数据库学习(7) -- pymysql简单介绍
Preliminary practice of niuke.com (9)
高压漏电继电器BLD-20
Design, configuration and points for attention of network specified source multicast (SSM) simulation using OPNET
Complete code of C language neural network and its meaning
Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting
Writing process of the first paper
Y58. Chapter III kubernetes from entry to proficiency - continuous integration and deployment (Sany)
4. Object mapping Mapster
1.AVL树:左右旋-bite
Simulate thread communication
Autowired注解用于List时的现象解析
Design, configuration and points for attention of network unicast (one server, multiple clients) simulation using OPNET
Vector and class copy constructors
Sorry, I've learned a lesson
JVM(二十) -- 性能监控与调优(一) -- 概述
How Alibaba cloud's DPCA architecture works | popular science diagram
Tablayout modification of customized tab title does not take effect
sql优化常用技巧及理解