求指教

#include<bits/stdc++.h>
struct stu{
	int no;
	char name[10000];
};
struct stu c[10000];
int d[10000][2];
int main()
{
	int a,b;
	scanf("%d%d",&a,&b);
	for(int i=0;i<a;i++)
	{
		scanf("%d%s",&c[i].no,c[i].name);
	}
	for(int i=0;i<b;i++)
	{
		scanf("%d%d",&d[i][0],&d[i][1]);
	} 
	int j=0;
	for(int i=0;i<b;i++)
	{
		if((c[j].no==0&&d[i][0]==0) || (c[j].no==1&&d[i][0]==1))
		{
			j=(j-d[i][1]+a)%a;
		}
		else if((c[j].no==1&&d[i][0]==0) || (c[j].no==0&&d[i][0]==1))
		{
			j=(j+d[i][1]+a)%a;
		}
	}
	printf("%s",c[j].name);
	return 0;
 } 

全部评论
题目里nm的范围都是100000,你的数组开小了呀
点赞
送花
回复
分享
发布于 2020-01-13 10:51

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务