原题链接 来自洛谷
https://www.luogu.com.cn/problem/P1042
#include <bits/stdc++.h>
using namespace std;
int num[100100][2] = {0};
int main()
{
int i, j, t;
char c;
int w = 0, l = 0;
int n = 0;
while (scanf("%c", &c))
{
if (c == '\n') continue;
if (c == 'E')
{
printf ("%d:%d\n", w, l);
break;
}
if (c == 'W')
{
w++;
num[n][1]++;
}
else if (c == 'L')
{
l++;
num[n][0]++;
}
if ((w >= 11 || l >= 11) && abs(w-l)>=2)
{
printf ("%d:%d\n", w, l);
w = 0; l = 0;
}
if ((num[n][0] >= 21 || num[n][1] >= 21) && abs(num[n][0]-num[n][1])>=2)
{
n++;
}
}
printf ("\n");
for (i = 0; i <= n; i++)
printf ("%d:%d\n", num[i][1], num[i][0]);
return 0;
}
该博客讲述了如何解决洛谷平台上的一个问题,涉及字符输入控制(W、L、E),记录行走步数和方向变化,并在特定条件下输出坐标。算法核心在于检查步数和方向差异是否达到特定阈值。
842

被折叠的 条评论
为什么被折叠?



