• 洛谷 P1563 玩具谜题


    如果你想不耗费脑力做出这个题目,往下看:

    本萌新看到这个题目,想到了乘法法则,题目中左右方向要判断两次,很耗脑力,和乘法中的正负号判断非常像。

    抽象一点:这个人向内向外就是乘法中括号外的正负号,他的左右方向是括号内的正负号,所以我们以singer为标准,每个人的 0 (朝内)为 1 ,每个人的 1 (朝外)为 -1 。

    而他们的左右方向,因为题目图中是逆时针走向,所以和他们的朝内朝外是相反的,故判断每个人左右方向时, 0 为 -1 , 1 为 1 。

    最后将两个判断方向的数乘起来(这事当然交给电脑了),就是最终方向。代码如下:

    #include<iostream>
    using namespace std;
    int n,m,a,b,i,num[100001];
    string name[100001];//准备工作 
    int main(){
    	cin>>n>>m;
    	for(i=1;i<=n;i++){
    		cin>>num[i]>>name[i];//输入 
    		if(num[i]==0)num[i]=1;
    		else num[i]=-1;//以singer朝向为准,0为1,1为-1; 
    	}
    	i=1;//从第一个开始循环 
    	while(m){
    		cin>>a>>b;
    		if(a==0)a=-1;//题目的图中为逆时针,故 1为1,0为-1; 
    		i+=num[i]*a*b;//乘法法则,把方向判断扔给电脑去算; 
    		if(i<1)i=n+i;//边界情况
    		if(i>n)i%=n;//把他们围成一个圈 
    		m--;
    	}
    	cout<<name[i];//输出,圆满 
        return 0;
    }
    
    ✐☎博主撰文不易,转载还请注明出处;若对本文有疑,请私信或在下方讨论中提出。O(∩_∩)O谢谢!☏

    ☃〔尽管小伙伴们肯定有千百种方式针对,但博主还是极其非常十分不要脸的把反对键吃掉辣!〕☃

    ✿『$At$ $last$:非常一(hu)本(shuo)正(ba)经(dao)的:博主很笨,请不要欺负他』✿✍

  • 相关阅读:
    CSS布局之盒子模型[二]
    CSS布局之盒子模型[一]
    CSS文本相关之垂直排列[5]
    网站迁移之后,中文路径都变成乱码
    Linux中shell搜索多文件中的字符串
    mysql数据库报错
    使用Flarum轻松搭建自己的论坛
    CSS雪碧图-html优化
    CSS-定位模式
    ul当做div标签的使用
  • 原文地址:https://www.cnblogs.com/812-xiao-wen/p/9879266.html
Copyright © 2020-2023  润新知