当前位置:网站首页>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;
}
边栏推荐
- Two methods of thread synchronization
- 《5》 Table
- 张平安:加快云上数字创新,共建产业智慧生态
- pytest测试框架——数据驱动
- Life experience of an update statement
- Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting
- app clear data源码追踪
- 论文阅读【Open-book Video Captioning with Retrieve-Copy-Generate Network】
- Creation and use of thread pool
- DOM node object + time node comprehensive case
猜你喜欢

MySQL数据库学习(8) -- mysql 内容补充

DJ-ZBS2漏电继电器

JHOK-ZBG2漏电继电器

Leakage relay llj-100fs

Design, configuration and points for attention of network specified source multicast (SSM) simulation using OPNET

张平安:加快云上数字创新,共建产业智慧生态

不同网段之间实现GDB远程调试功能
![[论文阅读] Semi-supervised Left Atrium Segmentation with Mutual Consistency Training](/img/d6/e6db0d76e81e49a83a30f8c1832f09.png)
[论文阅读] Semi-supervised Left Atrium Segmentation with Mutual Consistency Training

The year of the tiger is coming. Come and make a wish. I heard that the wish will come true

Life experience of an update statement
随机推荐
在米家、欧瑞博、苹果HomeKit趋势下,智汀如何从中脱颖而出?
漏电继电器LLJ-100FS
利用OPNET进行网络单播(一服务器多客户端)仿真的设计、配置及注意点
Most commonly used high number formula
【js组件】date日期显示。
人体传感器好不好用?怎么用?Aqara绿米、小米之间到底买哪个
5阶多项式轨迹
Batch size setting skills
Leetcode (46) - Full Permutation
JVM (19) -- bytecode and class loading (4) -- talk about class loader again
Design, configuration and points for attention of network specified source multicast (SSM) simulation using OPNET
Codeforces Round #416 (Div. 2) D. Vladik and Favorite Game
Educational Codeforces Round 22 B. The Golden Age
[Oracle] simple date and time formatting and sorting problem
app clear data源码追踪
Two person game based on bevy game engine and FPGA
ThinkPHP Association preload with
pytest测试框架——数据驱动
Design, configuration and points for attention of network unicast (one server, multiple clients) simulation using OPNET
5. 数据访问 - EntityFramework集成