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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

拯救机器人

發(fā)布時間:2024/6/21 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 拯救机器人 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題意:

給出一個n * m的矩形,現(xiàn)在有一個出口用'E'表示,'.'表示空地,'o'表示此處有一個機器人,現(xiàn)在你可以指揮所有的機器人往上下左右走一步,如果有一個機器人走到了出口'E',那么這個機器人就被拯救,如果有機器人走出了邊界,那么這個機器人將會爆炸,問最多拯救多少個機器人。

題解:

目前還不是很懂,貼個代碼挖個坑,以后來細細品味。

代碼:

#include <bits/stdc++.h>
using namespace std;

const int N = 2e2 + 7;
int sum[N][N], ai[N][N], aj[N][N], f[N][N], s[N][N];
int n, m, si, sj, ans;

int getsum (int i1, int j1, int i2, int j2)
{
	return sum[i2][j2] - sum[i1 - 1][j2] - sum[i2][j1 - 1] + sum[i1 - 1][j1 - 1];
}

int main ()
{
	scanf ("%d%d", &n, &m);
	for (int i = 1; i <= n; ++ i)
	{
		char ch[N];
		scanf ("%s", ch + 1);
		for (int j = 1; j <= m; ++j)
		{
			if (ch[j] == 'o') s[i][j] = 1;
			else if (ch[j] == '.') s[i][j] = 0;
			else si = i, sj = j;
		}
	}
	if (si > (n + 1) / 2)
	{
		si = n + 1 - si;
		for (int il = 1, ir = n; il < ir; ++ il, -- ir)
			for (int j = 1; j <= m; ++ j)
				swap(s[il][j], s[ir][j]);
	}
	if (sj > (m + 1) / 2)
	{
		sj = m + 1 - sj;
		for (int jl = 1, jr = m; jl < jr; ++ jl, -- jr)
			for (int i = 1; i <= n; ++ i)
				swap(s[i][jl], s[i][jr]);
	}
	for (int i = 1; i <= n; ++ i)
	{
		for (int j = 1; j <= m; ++ j)
		{
			ai[i][j] = ai[i][j - 1] + s[i][j];
			aj[i][j] = aj[i - 1][j] + s[i][j];
			sum[i][j] = sum[i - 1][j] + sum[i][j - 1] - sum[i - 1][j - 1] + s[i][j];
		}
	}
	for (int i = 1; i <= si; ++ i)
	{
		for (int j = 1; j <= sj; ++ j)
		{
			int pi = i + si - 1, pj = j + sj - 1;
			f[1][1] = getsum (i, j, pi, pj);
			for (int ii = 1; ii + pi - 1 <= n - (si - i); ++ ii)
				for (int ij = 1; ij + pj - 1 <= m - (sj - j); ++ ij)
					if (ii + ij != 2)
					{
						f[ii][ij] = 0;
						if (ii) f[ii][ij] = max (f[ii][ij], f[ii - 1][ij] + ai[ii + pi - 1][ij + pj - 1] - ai[ii + pi - 1][(j + ij - 1) - 1]);
						if (ij) f[ii][ij] = max (f[ii][ij], f[ii][ij - 1] + aj[ii + pi - 1][ij + pj - 1] - aj[(i + ii - 1) - 1][ij + pj - 1]); 
					}
			ans = max (ans, f[n - pi + 1 - (si - i)][m - pj + 1 - (sj - j)]);
		}
	}
	cout << ans << endl;
	return 0;
}

  

總結

以上是生活随笔為你收集整理的拯救机器人的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲123区| 美日韩精品 | 色乱码一区二区三区在线男奴 | 国产乱子一区二区 | 成人欧美日韩 | 私人毛片 | 狠狠干天天色 | 精品乱| 国产久视频 | 欧美一级爽aaaaa大片 | 午夜激情网 | 欧美色插 | 激情小说视频在线 | 亚洲国产精品18久久久久久 | 蜜臀久久99精品久久一区二区 | 99九九久久| 日本道中文字幕 | 综合久久一区二区 | 琪琪在线视频 | 超碰97成人 | 大咪咪dvd| 美女视频免费在线观看 | 亚洲一区二区三区视频 | 国产一区视频在线观看免费 | 久久久久久久久国产精品 | 亚色91| 日本老年老熟无码 | 人妻偷人精品一区二区三区 | 久久久精品视频在线观看 | 高潮流白浆在线观看 | 伊人婷婷色 | av少妇| 在线观看二区 | 啪啪自拍视频 | 日韩一区二区三区久久 | 波多野结衣 一区 | 男女av网站| 日韩一二区 | 国产精品视频导航 | 激情中文字幕 | 久久丫精品 | 成人h动漫精品一区二 | 免费中文字幕在线观看 | 香蕉啪啪网| 日韩在线观看网址 | 成人精品久久久 | 操大爷影院 | 中文字幕四区 | 美女精品久久 | 波多野结衣中文在线 | 一女双乳被两男吸视频 | 在线国产视频一区 | 亚洲国产无线乱码在线观看 | 国产精品国产三级国产aⅴ无密码 | 狠狠干伊人网 | 欧美一级做a爰片久久高潮 久热国产精品视频 | 警察高h荡肉呻吟男男 | 亚洲AV无码国产精品国产剧情 | 精品国产96亚洲一区二区三区 | 日韩欧美网址 | 操碰人人 | 黑人和白人做爰 | 美日韩一区二区 | www.日本色 | 中文字幕在线欧美 | 色婷婷欧美 | 色偷av| 韩国主播青草55部完整 | 黑人爱爱视频 | 一起草最新网址 | 亚洲一区www | 日韩欧美视频在线免费观看 | 自拍视频啪 | 性工作者十日谈 | 欧美性啪啪 | 亚洲一区二区人妻 | 国产一级理论 | 日韩黄色一级片 | 人妖av在线 | 99操 | 日日操日日操 | 91影院在线 | 97久久国产| 精品国产乱码一区二 | 婷婷成人综合 | 男人天堂欧美 | 葵司免费一区二区三区四区五区 | 久久草网站 | 精品人妻少妇一区二区三区 | 超碰91人人| 爱情岛论坛自拍亚洲品质极速最新章 | 国产精品网址 | 91麻豆国产 | 精品人妻一区二区三区四区在线 | 尤物精品视频在线观看 | 精品白浆 | 日本免费一区二区三区四区 | 丝袜美腿亚洲综合 | 一边摸一边抽搐一进一出视频 |