马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 御笔剑客 于 2018-9-5 23:44 编辑 #include<bits/stdc++.h>
using namespace std;
string a;
int arr[10005];
int main()
{
int t,n,x,y;
cin >> t;
while(t--)
{
int k1,k2;
int step = 0;
cin>>a;
cin >> n;
for(int i = 0; i < n; i++)
cin >>arr[i];
int len = a.size();
for(int i = 0; i < len; i++)
{
if(a[i] == 'S')
x = i;
if(a[i] == 'E')
y = i;
}
for(int 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;
}
我标红的语句,放在循环里题目就通过了,放在循环外就答案全部错误,这两句放在循环里和循环外有什么区别呢?
https://www.nowcoder.com/acm/contest/23/G 题目的地址在这。 |