日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UVA10047独轮车

發布時間:2025/6/17 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UVA10047独轮车 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
? ? ? 給你一個獨輪車,輪子上有五個扇形,每過一個格子就轉過一個扇形,剛開始的時候方向是向北的,綠色上行向下,每一次可以有三種操作,到下一個格子,左轉90度,右轉90度,每一次操作都花費時間1,問從起點到終點的最小步數,要求到終點的時候必須還是綠色扇形向下,方向無所謂。


思路:
? ? ? mark[x][y][col][fx]代表的是在點(x,y)處,顏色是col方向是fx是否走過,然后就是個簡單的廣搜了,還有提示下,這個題目沒有必要用優先隊列的,每次操作花費都一樣,仔細想想隊列里面的東西,本來就是按照步數小的在前面存的,具體細節看代碼,還有個事就是UVA上貌似沒有pe啊!,pe貌似是直接wa的節奏。


#include<queue>
#include<stdio.h>
#include<string.h>

using namespace std;

typedef struct
{
? ?int x ,y ,fx ,col ,t;
}NODE;

NODE xin ,tou;
int mark[26][26][6][5];
int map[26][26];
int ex ,ey ,sx ,sy;
int n ,m;

bool ok(int x, int y ,int c ,int f)
{
? ?return x >= 1 && x <= n && y >= 1 && y <= m && !map[x][y] && !mark[x][y][c][f];
}


int BFS()
{
? ?xin.x = sx ,xin.y = sy ,xin.t = 0 ,xin.fx = 1 ,xin.col = 1;
? ?memset(mark ,0 ,sizeof(mark));
? ?mark[sx][sy][1][1] = 1;
? ?queue<NODE>q;
? ?q.push(xin);
? ?while(!q.empty())
? ?{
? ? ? tou = q.front();
? ? ? q.pop();
? ? ? if(tou.x == ex && tou.y == ey && tou.col == 1)?
? ? ? return tou.t;
? ? ??
? ? ? //向前
? ? ? if(tou.fx == 1) xin.x = tou.x - 1 ,xin.y = tou.y;
? ? ? if(tou.fx == 2) xin.x = tou.x ,xin.y = tou.y + 1;
? ? ? if(tou.fx == 3) xin.x = tou.x + 1 ,xin.y = tou.y;
? ? ? if(tou.fx == 4) xin.x = tou.x ,xin.y = tou.y - 1;
? ? ? xin.fx = tou.fx ,xin.t = tou.t + 1 ,xin.col = (tou.col + 1) % 6;
? ? ? if(!xin.col) xin.col ++;
? ? ? if(ok(xin.x ,xin.y ,xin.col ,xin.fx))
? ? ? {
? ? ? ? ?mark[xin.x][xin.y][xin.col][xin.fx] = 1;
? ? ? ? ?q.push(xin);
? ? ? }
? ? ? //向右
? ? ? xin.x = tou.x ,xin.y = tou.y;?
? ? ? xin.t = tou.t + 1 ,xin.col = tou.col;
? ? ? xin.fx = tou.fx + 1;
? ? ? if(xin.fx > 4) xin.fx = 1;
? ? ? if(ok(xin.x ,xin.y ,xin.col ,xin.fx))
? ? ? {
? ? ? ? ?mark[xin.x][xin.y][xin.col][xin.fx] = 1;
? ? ? ? ?q.push(xin);
? ? ? }?
? ? ? //向左?
? ? ? xin.x = tou.x ,xin.y = tou.y;?
? ? ? xin.t = tou.t + 1 ,xin.col = tou.col;
? ? ? xin.fx = tou.fx - 1;
? ? ? if(xin.fx == 0) xin.fx = 4;
? ? ? if(ok(xin.x ,xin.y ,xin.col ,xin.fx))
? ? ? {
? ? ? ? ?mark[xin.x][xin.y][xin.col][xin.fx] = 1;
? ? ? ? ?q.push(xin);
? ? ? }?
? ?}
? ?return -1;
}


int main ()
{
? ?int i ,j ,Ans ,cas = 1 ,mk = 0;
? ?char str[30];
? ?while(~scanf("%d %d" ,&n ,&m) && n + m)
? ?{
? ? ? for(i = 1 ;i <= n ;i ++)
? ? ? {
? ? ? ? ?scanf("%s" ,str);
? ? ? ? ?for(j = 0 ;j < m ;j ++)
? ? ? ? ?{
? ? ? ? ? ? if(str[j] == '#') map[i][j+1] = 1;
? ? ? ? ? ? if(str[j] == '.') map[i][j+1] = 0;
? ? ? ? ? ? if(str[j] == 'S') map[i][j+1] = 0 ,sx = i ,sy = j + 1;
? ? ? ? ? ? if(str[j] == 'T') map[i][j+1] = 0 ,ex = i ,ey = j + 1;
? ? ? ? ?}
? ? ? }
? ? ??
? ? ? Ans = BFS(); ? ? ? ? ? ? ? ? ?
? ? ? if(mk) puts("");
? ? ? printf("Case #%d\n" ,cas ++);
? ? ? Ans == -1 ? puts("destination not reachable"):printf("minimum time = %d sec\n" ,Ans);
? ? ? mk = 1;
? ?}
? ?return 0;
}
? ? ??
? ? ? ? ?

? ? ??
? ? ??













總結

以上是生活随笔為你收集整理的UVA10047独轮车的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品国产成人av | 寡妇高潮一级视频免费看 | 91国产一区二区 | 欧美成人精品在线 | 日韩一区免费视频 | 国产精品99久久久久久www | 国产黄大片 | 日日操视频 | 美女国产免费 | 久草福利视频 | 国产精品黑人一区二区三区 | 夜色成人网 | 亚洲第一页夜 | 欧美一区二区三区久久成人精品 | 国产精品一区2区 | 欧洲-级毛片内射 | 我的丝袜美腿尤物麻麻 | av字幕在线 | 无码精品人妻一区二区 | 国产精品九一 | av黄色av| 制服丝袜一区在线 | 亚洲成人一区在线 | 国产天堂网 | 国语对白久久 | 99爱精品| 风间由美av在线 | 日本在线免费视频 | 国产成人精品国内自产拍免费看 | 欧美伊人 | 黄色免费看视频 | 欧美成人一区二区视频 | 一区二区不卡视频在线观看 | 狠狠澡 | 永久免费看片在线播放 | 久久色av | 中国黄色a级片 | 女人舌吻男人茎视频 | 欧美另类高清videos的特点 | 一区二区网站 | 久久综合久久久久 | 午夜av一区二区三区 | 97精品人妻麻豆一区二区 | 国产精品伦理一区二区 | 亚州福利 | 成年人在线播放 | 亚洲精品动漫在线观看 | 精品婷婷色一区二区三区蜜桃 | 亚洲精品国产精品乱码不99按摩 | 999热| 日本美女操 | 懂色av中文字幕 | 国产女人18毛片水18精品 | 国产精品麻豆入口 | 国产午夜啪啪 | 99热免费| 国产精品一区二区人妻喷水 | 91看片淫黄大片 | 在线观看欧美一区二区三区 | 午夜精品久久久久久久99热黄桃 | 国产一区二区啪啪啪 | 成人性生交大片 | 亚洲黄色小说图片 | 久久深夜视频 | 91亚洲精华| 亚洲一区欧洲二区 | 国产精品视频一区二区三区在3 | 靠逼动漫 | 国产酒店自拍 | 国产东北女人做受av | 中文字幕在线亚洲 | 99re在线观看 | 亚洲色欧美另类 | 天天射一射 | 国产精品二区三区 | a级黄毛片| 免费av网站大全 | 亚洲美女福利视频 | 一级在线免费观看 | 99色视频 | 国产在线视频在线观看 | sese国产| 欧美黑人xxx | 精品久久久久久久久久久久久 | 97视频免费看 | 日本高清三区 | 亚洲精品97久久中文字幕无码 | 啪啪网页| 尤物视频在线 | 大胸美女无遮挡 | 国产成人在线一区 | 久久久久久香蕉 | 伊人色在线 | 老熟妇午夜毛片一区二区三区 | 四虎精品成人免费网站 | 日本www视频在线观看 | 午夜精品久久久久久久久久蜜桃 | 超碰一区二区 | 黑人玩弄人妻一区二 |