多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > 綜合技術(shù) > csu1510: Happy Robot

csu1510: Happy Robot

來源:程序員人生   發(fā)布時間:2015-03-30 08:10:47 閱讀次數(shù):2799次

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屆大學生計算機程序設(shè)計比賽







這個題嘛……那時候我還不會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); } }


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美日韩小说 | 亚洲天堂资源 | porn日本xxx护士 | 中国特黄特级真人毛片 | 久久国产影视 | 欧美专区日韩专区 | 中文字幕不卡一区 二区三区 | 99精品欧美一区二区三区 | 欧美黑人巨大性极品hd | 成人国内精品久久久久影院 | 欧美自拍偷拍视频 | 亚洲欧美综合一区二区三区四区 | h视频在线免费观看 | 国产不卡一区二区三区免费视 | 国产欧美精品区一区二区三区 | 亚洲第一视频 | 久久久久综合网久久 | 男女激情视频网站 | 国产精品高清全国免费观看 | 欧美巨大另类极品videosbest | jizz在线观看国产精品 | 欧美一级特黄毛片免费 | 亚洲小视频 | 在线成人小视频 | 亚洲欧美极品 | 国产精品一区二区久久精品 | 18在线 | free性欧美xxx狂欢 | 视频一区亚洲 | 精品久久久久久中文字幕女 | 欧美乱人伦中文在线观看不卡 | 一区二区三区亚洲 | 日韩欧美亚洲一区精选 | 色综合欧美 | 欧美一级aa免费毛片 | 手机看片福利视频 | 国产精品久久1024 | 一级女性全黄生活片免费看 | 国产老妇一性一交一乱 | 亚洲伦理网站 | 午夜一级做a爰片久久毛片 午夜一区二区三区 |