Xrzzzzzz edited 3 年,9 月前
用题目给的例子测试是对的,但是一提交第一个测试点都过不去…为什么?
/*
* @Description:
* @Autor: Tim
* @Date: 2021-03-13 16:43:40
* @LastEditors: Tim
* @LastEditTime: 2021-03-13 18:16:39
*/
#include <iostream>
using namespace std;
typedef struct problem_3
{
int a; //编号
char name[10]; //名字
} player;
int main()
{
int p, m;
cin >> p >> m;
player pe[100000];
for (int i = 0; i < p; i++)
{
cin >> pe[i].a >> pe[i].name;
}
int index = 0;
for (int i = 0; i < m; i++)
{
int x, y;
cin >> x >> y;
if (pe[index].a)
{ //朝向圈外
if (!x)
{ //向左
index = (index + y) % p;
}
else
{
if (index > y)
{
index = (index - y) % p;
}
else
{
index = p - (y - index) % p;
}
}
}
else
{ //朝向圈内
if (!x)
{ //想左
if (index > y)
{
index = (index - y) % p;
}
else
{
index = p - (y - index) % p;
}
}
else
{
index = (index + y) % p;
}
}
}
printf("%s\n", pe[index].name);
// system("Pause");
return 0;
}