码迷,mamicode.com
首页 > 其他好文 > 详细

AtCoder Grand Contest 043(坑)

时间:2020-05-19 22:34:27      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:移动   class   har   contest   矩形   namespace   and   rand   str   

Preface

很毒的一场,AB自己想的(ORZ陈指导),C完全不会感叹题解的神仙做法,D本来已经做出来了然后想复杂了(或者说是习惯使然?)

E我看了半天题目都看不懂而且这个移动曲线的定义好仙,F神仙题不可做,都弃了得了


A

垃圾hl666日常看错题目,题目中的翻转矩形看成了翻转正方形

实际上如果没看错就很简单了,因为只能向两个方向走,因此所有连着的黑色格子都可以一次翻转完,搞一个DP记录一下到每个点是否翻转的答案即可

#include<cstdio>
#include<iostream>
#include<cstring>
#define RI register int
#define CI const int&
using namespace std;
const int N=105;
int n,m,f[N][N][2]; char a[N][N];
int main()
{
	RI i,j; for (scanf("%d%d",&n,&m),i=1;i<=n;++i) scanf("%s",a[i]+1);
	memset(f,127,sizeof(f)); if (a[1][1]==‘.‘) f[1][1][0]=0; else f[1][1][1]=1;
	for (i=1;i<=n;++i) for (j=1;j<=m;++j) if (i!=1||j!=1)
	if (a[i][j]==‘.‘) f[i][j][0]=min(min(f[i-1][j][0],f[i-1][j][1]),min(f[i][j-1][0],f[i][j-1][1]));
	else f[i][j][1]=min(min(f[i-1][j][0]+1,f[i-1][j][1]),min(f[i][j-1][0]+1,f[i][j-1][1]));
	return printf("%d",a[n][m]==‘.‘?f[n][m][0]:f[n][m][1]),0;
}

AtCoder Grand Contest 043(坑)

标签:移动   class   har   contest   矩形   namespace   and   rand   str   

原文地址:https://www.cnblogs.com/cjjsb/p/12919715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!