求助最后两个点
  • 板块P1950 长方形
  • 楼主Merge_all
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/4 19:05
  • 上次更新2024/7/4 21:12:40
查看原帖
求助最后两个点
1147171
Merge_all楼主2024/7/4 19:05
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<set>
#include<map>
#include<queue>
#include<vector>
//#define up(i,a,b) for(int i=(a);i<=(b);i++)
//#define dw(i,a,b) for(int i=(a);i>=(b);i--)
//#define ing long long
#define il inline
#define ls(p) (p<<1)
#define rs(p) (p<<1|1)
#define lowbit(x) (x&(-x))
#ifdef ONLINE_JUDGE
char buf[1 << 23] , * p1 = buf , * p2 = buf , obuf[1 << 23] , * O = obuf;
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
#endif
using namespace std;

const int N=200010,M=2010,inf=0x3f3f3f3f,mod=1e9+7;
const double PI=acos(-1),eps=1e-8;

int n,m;
int ans;
int a[M],tmp;
char opt;

il int read(){
	int x=0,f=1;
	char ch=getchar();
	while(!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();}
	while(isdigit(ch)){
		x=(x<<3)+(x<<1)+(ch^48);
		ch=getchar();
	}
	return x*f;
}

int main(){
	//freopen(".in","r",stdin);freopen(".out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>opt;
			if(opt=='.') a[j]++;
			else a[j]=0;
		}
		for(int j=1;j<=m;j++){
			tmp=a[j];
			for(int k=j;k<=m&&a[k];k++){
				tmp=min(tmp,a[k]);
				ans=ans+tmp;
			}
		}
	}
	cout<<ans<<"\n";
	return 0;
}
2024/7/4 19:05
加载中...