本文主要是介绍Codeforces 400B Inna and New Matrix of Candies(暴力),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接: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[N];
char str[N];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;
}
这篇关于Codeforces 400B Inna and New Matrix of Candies(暴力)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!