zoukankan      html  css  js  c++  java
  • 21.11.04 A 公交线路

    题目链接:https://codeforces.com/gym/103389/problem/A

    题目的大意就是,到第每i站,该站会报出a[i]个字,表示地点名称,现在给出了a序列,起点在x终点在y,现在已经经过了m个站点,现在你需要根据报出的到每个站点字的数量来判断是不是走错了方向,题目保证数据合法。

    #include <algorithm>
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    using namespace std;
    int n,x,y,k[11],m,p[11];
    int main()
    {
        cin>>n>>x>>y;
        for(int i=1;i<=n;i++)cin>>k[i];
        cin>>m;
        for(int i=1;i<=m;i++)cin>>p[i];
        int s=(y-x)/abs(y-x);        //根据这个来判断出发开始是往左走还是往右走 
        int pos=x+s,cnt=1;
        while(cnt<=m)
        {
            if(k[pos]!=p[cnt])        //数据范围足够小,根据走的方向的每一步都判断一下 
            {
                printf("Wrong");    //出错就结束 
                return 0;
            }
            pos+=s;
            cnt++;
        }
        //没有出错还需要判断是不是因为就算是往反方向走也是和正方向走的序列一样 
        for(int i=1;i<=m;i++)
        {
            if(k[x+s*i]!=k[x-s*i])
            {
                printf("Right");//正反方向出现的序列是不一样的说明绝对没错 ,结束 
                return 0;
            }
        }
        //如果正反方向一样,是不能确定是否走反了方向 
        printf("Unsure");
    }

    除特别注明外,本站所有文章均为Manjusaka丶梦寒原创,转载请注明来自出处

  • 相关阅读:
    设计模式之《工厂方法》
    设计模式之 《简单工厂》
    fegin 调用源码分析
    ajax上传预览
    ajax小应用
    ajax执行流程1
    ajax异步post方法
    ajax get异步方法
    js ajax请求流程
    form表单提交
  • 原文地址:https://www.cnblogs.com/rmy020718/p/15513660.html
Copyright © 2011-2022 走看看