|
发表于 2018-9-6 08:35:19
|
显示全部楼层
回帖奖励 +20 鱼币
本帖最后由 理想小青年 于 2018-9-6 08:38 编辑
代码测试没有问题 循环内与循环外结果相同
下面附上个人调试你的代码
#pragma once
#include <string>
#include <iostream>
using std::string; using std::cin;
using std::cout; using std::endl;
const int ARR_MAX = 10005;
string a = { 0 };
int arr[ARR_MAX] = { 0 };
int main()
{
int t = 0, n = 0, x = 0, y = 0;
cout << "Please input t: ";
cin >> t;
while (t--)
{
int k1 = 0, k2 = 0;
int step = 0;
cout << "Please input a: ";
cin >> a;
cout << "Please input n: ";
cin >> n;
for (int i = 0; i < n; i++)
cin >> arr[i];
size_t len = a.size();
for (size_t i = 0; i < len; i++)
{
if (a[i] == 'S')
x = i;
else if (a[i] == 'E')
y = i;
}
for (size_t i = x; i < len; i++)
{
if (a[i] != '@')
step++;
else
{
k1 = i;
break;
}
}
for (int i = y; i >= 0; i--)
{
if (a[i] != '@')
step++;
else
{
k2 = i;
//if (k1 != k2)
// step += 1;
break;
}
}
if (k1 != k2)
step += 1;
for (int i = 0; i < n; i++)
{
step -= arr[i];
if (step <= 0)
{
printf("%s\n", i % 2 == 0 ? "Tabris" : "mengxiang000");
break;
}
}
if (step > 0)
cout << "None" << endl;
}
return 0;
}
|
-
测试图
|