您的位置:首页 > 其它

Codeforces 400B Inna and New Matrix of Candies(暴力)

2014-03-06 14:41 351 查看
题目链接:Codeforces 400B Inna and New Matrix of Candies

题目大意:给出n和m表示有n行m列,每一行上有一个小人G和一个糖果S,每次操作可以让所有小人一起向右移动,直到有某个小人碰到糖果或者是走到尽头,问说至少要多少次操作才可以使得所有小人都吃到糖果,如果有小人吃不到糖果输出-1.

解题思路:暴力,对于每一行记录住小人移动到糖果需要多少步,如果走不到就是-1,否则就是所有步数的种数。

#include <stdio.h>
#include <string.h>

const int N = 1005;

int n, m, c, v
;
char str
;

int main () {

bool flag = true;
c = 0;
memset(v, 0, sizeof(v));

scanf("%d%d", &n, &m);
for (int i = 0; i < n; i++) {
scanf("%s", str);
int p = -1, q = -1;

for (int j = 0; j < m; j++) {
if (str[j] == 'G') q = j;
if (str[j] == 'S') p = j;
if (p >= 0 && q >= 0) break;
}

int k = p - q;
if (k < 0) flag = false;
else {
if (v[k] == 0) c++;
v[k]++;
}
}
printf("%d\n", flag ? c : -1);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: