在脑袋一团浆糊的情况下瞎敲了俩小时,最后以一种极其狗血的方式AC了。
最后AC的代码跟shit一样 就不贴了
题目:Codeforces 115B
地址:http://codeforces.com/problemset/problem/115/B
心得:
- 题目不难。
- 要想清楚。
代码:
别人的
#include<iostream>
#include<cmath>
#include<algorithm>
#include<string>
using namespace std;
const int inf=1000000000;
int main()
{
int N,M;
cin>>N>>M;
int L[150],R[150];//没有必要开一个150*150的数组
for(int i=0;i<N;i++)
{
L[i]=inf;R[i]=-inf;//最大值最小值初始化
string S;
cin>>S;
for(int j=0;j<M;j++)
if(S[j]=='W')
{
L[i]=min(L[i],j);
R[i]=max(R[i],j);
}
}
int Ans=0,X=0,Max=0;
for(int i=0;i<N;i++)
if(L[i]<=R[i])//判定是否为空行
{
Max=i;//记录跳行次数
if(i%2==0)
{Ans+=abs(X-L[i])+R[i]-L[i];X=R[i];}
else
{Ans+=abs(X-R[i])+R[i]-L[i];X=L[i];}
}
cout<<Ans+Max<<endl;
return 0;
}