奇怪的错误,求解。。。
查看原帖
奇怪的错误,求解。。。
285466
勒勒楼主2021/7/20 16:39
#include<bits/stdc++.h>
using namespace std;
const int N = 220;
int n,m;
int i;
map<string,int> p1;
map<int,string> p2;
int main(){
	cin>>n>>m; 
	for(i=0;i<n;i++){
		string s;
		int x;
		cin>>x>>s;
		p1[s]=x;
		p2[i]=s;
	}
	i=0;
  /*
    for(i=1;i<=n;i++){
     	string s;
       int x;
    	 cin>>x>>s;
   		 p1[s]=x;
   		 p2[i]=s;
     }
     i=1;
  */
  //如果把上面的输入改成从1开始遍历就有两个 测试点一直过不去。。。
	while(m--){
		int a,b;
		cin>>a>>b;
		if(p1[p2[i]]==0){
			if(a==0){
				i=(i+(n-b))%n;
			}else if(a==1){
				i=(i+b+n)%n;
			}
		}else if(p1[p2[i]]==1){
			if(a==0){
				i=(i+b+n)%n;
			}else if(a==1){
				i=(i+(n-b))%n;
			}
		}
	}
	cout<<p2[i]<<endl;
	return 0;
} 
2021/7/20 16:39
加载中...