日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > csu1510: Happy Robot

csu1510: Happy Robot

來源:程序員人生   發布時間:2015-03-30 08:10:47 閱讀次數:2805次

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 41  Solved: 19
[Submit][Status][Web Board]

Description

Input

There will be at most 1000 test cases. Each case contains a command sequence with no more than 1000 characters.

Output

For each test case, print the case number, followed by minimal/maximal possible x (in this order), then the minimal/maximal possible y.

Sample Input

F?F L?? LFFFRF

Sample Output

Case 1: 1 3 ⑴ 1 Case 2: ⑴ 1 0 2 Case 3: 1 1 3 3

HINT

Source

湖南省第10屆大學生計算機程序設計比賽







這個題嘛……那時候我還不會dp


大概是這樣dp[pos][dir]:在pos這個位置,朝向dir時,最多能夠給4個極限貢獻多少

#include<map> #include<string> #include<cstring> #include<cstdio> #include<cstdlib> #include<cmath> #include<queue> #include<vector> #include<iostream> #include<algorithm> #include<bitset> #include<climits> #include<list> #include<iomanip> #include<stack> #include<set> using namespace std; bool vis[int(1e4)+10][4]; struct node { int xmin,xmax,ymin,ymax; }dp[int(1e4)+10][4]; int goal; char s[int(1e4)+10]; node dfs(int pos,int dir) { if(vis[pos][dir]) return dp[pos][dir]; vis[pos][dir]=1; dp[pos][dir].xmin=dp[pos][dir].xmax=dp[pos][dir].ymin=dp[pos][dir].ymax=0; if(pos==goal) { if(s[pos]=='?') { if(dir==0) dp[pos][dir].ymax=1; else if(dir==1) dp[pos][dir].ymin=⑴; else if(dir==2) dp[pos][dir].xmin=⑴; else dp[pos][dir].xmax=1; } else if(s[pos]=='F') { if(dir==0) dp[pos][dir].ymin=dp[pos][dir].ymax=1; else if(dir==1) dp[pos][dir].ymin=dp[pos][dir].ymax=⑴; else if(dir==2) dp[pos][dir].xmin=dp[pos][dir].xmax=⑴; else dp[pos][dir].xmin=dp[pos][dir].xmax=1; } } else { if(s[pos]=='L') { if(dir==0) dp[pos][dir]=dfs(pos+1,2); else if(dir==1) dp[pos][dir]=dfs(pos+1,3); else if(dir==2) dp[pos][dir]=dfs(pos+1,1); else dp[pos][dir]=dfs(pos+1,0); } else if(s[pos]=='R') { if(dir==0) dp[pos][dir]=dfs(pos+1,3); else if(dir==1) dp[pos][dir]=dfs(pos+1,2); else if(dir==2) dp[pos][dir]=dfs(pos+1,0); else dp[pos][dir]=dfs(pos+1,1); } else if(s[pos]=='F') { dp[pos][dir]=dfs(pos+1,dir); if(dir==0) { dp[pos][dir].ymin++; dp[pos][dir].ymax++; } else if(dir==1) { dp[pos][dir].ymin--; dp[pos][dir].ymax--; } else if(dir==2) { dp[pos][dir].xmin--; dp[pos][dir].xmax--; } else { dp[pos][dir].xmin++; dp[pos][dir].xmax++; } } else { node one,two,three; three=dfs(pos+1,dir); if(dir==0) { one=dfs(pos+1,2); two=dfs(pos+1,3); three.ymin++; three.ymax++; } else if(dir==1) { one=dfs(pos+1,3); two=dfs(pos+1,2); three.ymin--; three.ymax--; } else if(dir==2) { one=dfs(pos+1,1); two=dfs(pos+1,0); three.xmin--; three.xmax--; } else { one=dfs(pos+1,0); two=dfs(pos+1,1); three.xmin++; three.xmax++; } dp[pos][dir].xmin=min(min(one.xmin,two.xmin),three.xmin); dp[pos][dir].xmax=max(max(one.xmax,two.xmax),three.xmax); dp[pos][dir].ymin=min(min(one.ymin,two.ymin),three.ymin); dp[pos][dir].ymax=max(max(one.ymax,two.ymax),three.ymax); } } return dp[pos][dir]; } int main() { int cs=0; while(scanf("%s",s)!=EOF) { goal=strlen(s)⑴; memset(vis,0,sizeof(vis)); node ans=dfs(0,3); printf("Case %d: %d %d %d %d ",++cs,ans.xmin,ans.xmax,ans.ymin,ans.ymax); } }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久免费99精品久久久久久 | 久久成人久久爱 | 日韩免费激情电影 | 三级av毛片| 热久热久 | 日韩精品中文字幕一区二区三区 | 国产一区二 | 国产精品不卡一区二区三区 | 日日噜噜噜夜夜爽爽狠狠视频, | 中文字幕一区二区三区四区不卡 | 久久综合成人网 | 午夜午夜精品一区二区三区文 | 国产高清在线观看 | 精品亚洲一区二区三区 | 黄色1级视频 | 国产高清精| 国产日产久久久久久 | 国产精品久久久久久久久久99 | 国产成人免费av一区二区午夜 | 欧美黑人巨大videos精品 | 久久午夜视频 | 国内精品视频 | 99精品国产高清在线观看 | 91在线精品一区二区三区 | 国产嫩草影院久久久久 | 亚洲成人精选 | 亚洲一区中文字幕 | 午夜激情视频网站 | 久久精品视频一区二区 | 欧美日韩一区二区三区不卡 | 91久久精品一区二区二区 | 在线一级黄色片 | 欧美日韩中文字幕一区二区 | 日韩中文字幕电影 | 亚洲香蕉影院 | 毛片一区二区三区 | 99热最新| 美女又爽又黄网站视频 | 国产成人精品久久 | 国产综合视频 | 免费高清日本 |