zoukankan      html  css  js  c++  java
  • 洛谷 P1563 玩具谜题




    基础模拟 

    位置运算 可以模掉无效值

    注意细节即可

    #include <iostream>
    using namespace std;
    
    const int MAXN = 1e5 + 10;
    
    int pep[MAXN];
    string name[MAXN];
    int n, m;
    
    int pos(int rit, int f, int mode)
    {
    	f %= n;
    	if(mode == 1)
    	{
    		if(rit - f < 0)
    		{
    			f -= rit;
    			rit = n - f;
    		}
    		else
    		rit = rit - f;
    
    	}
    	else
    	{
    		if(rit + f >= n)
    		{
    			f -= n - rit;
    			rit = f;
    		}
    		else
    		{
    			rit = rit + f;
    		}
    	}
    	return rit;
    }
    
    int main()
    {
    	ios::sync_with_stdio(false);
    	cin>>n>>m;
    	for(int i = 0; i < n; i++)
    	{
    		cin>>pep[i];
    		cin>>name[i];
    	}
    	int flag = 0;
    	int ta, tb;
    	while(m--)
    	{
    		cin>>ta>>tb;
    		if(pep[flag] == 0)
    		{
    			if(ta == 0)
    			{
    				flag = pos(flag, tb, 1);
    			}
    			else
    			{
    				flag = pos(flag, tb, 0);
    			}
    		}
    		else 
    		{
    			if(ta == 0)
    			{
    				flag = pos(flag, tb, 0);
    			}
    			else
    			{
    				flag = pos(flag, tb, 1);
    			}
    		}
    	}
    	cout<<name[flag]<<endl;
    	return 0;
    }


  • 相关阅读:
    108.将有序数组转换成二叉搜索树
    剑指Offer 09.用两个栈实现队列
    215.数组中的第K个最大元素
    AcWing 845.八数码
    1.两数之和
    迷宫问题
    倒计时
    Redis 红包
    Redis
    EF Api 全套
  • 原文地址:https://www.cnblogs.com/zeolim/p/12270641.html
Copyright © 2011-2022 走看看