题目地址:cf#234_div2_B
题目大意:给你一个矩阵 每一行有G ,S G代表侏儒,S代表Candy 每次让所有的侏儒往右边走 称为“一步”
直到某一个侏儒碰到最右边或者碰到candy后停下来,
问所有的侏儒碰到candy至少要多少步?
额 其实就是一个水题,,,统计一下差距集合的size就行
代码:
#include<iostream>
#include<cstdio>
#include<set>
using namespace std;
char p[1005][1005];
int main()
{
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)
scanf("%s",p[i]);
bool flag=0;
set<int> s;
for(int i=0;i<n;i++)
{
int start,end;
for(int j=0;j<m;j++)
{
if(p[i][j]=='G') start=j;
if(p[i][j]=='S') end=j;
}
if(start<end)
s.insert(end-start);
else flag=1;
}
if(flag==0)
cout<<s.size()<<endl;
else cout<<-1<<endl;
}