zoukankan      html  css  js  c++  java
  • Codeforces Round #394 (Div. 2) B. Dasha and friends(暴力)

    http://codeforces.com/contest/761/problem/B

    题意:

    有一个长度为l的环形跑道,跑道上有n个障碍,现在有2个人,给出他们每过多少米碰到障碍,判断他们跑的是不是同一个跑道。

    思路:

    如果是同一个跑道,那么障碍与障碍之间的距离是相同的。

    所以我们可以先计算出两个人的跑道的障碍之间的距离,然后暴力比较,如果全部一样就是同一个跑道(因为是环形跑道,所以在比较的时候每次都需要将第一个加到最后)。

     1 #include<iostream>
     2 #include<string>
     3 #include<cstring>
     4 #include<algorithm>
     5 #include<queue>
     6 #include<cstdio>
     7 using namespace std;
     8 
     9 int n,l;
    10 int a[55],b[55];
    11 int A[55],B[55*2];
    12 
    13 int main()
    14 {
    15     //freopen("D:\input.txt", "r", stdin);
    16     while(~scanf("%d%d",&n,&l))
    17     {
    18         for(int i=0;i<n;i++)  scanf("%d",&a[i]);
    19         for(int i=0;i<n;i++)  scanf("%d",&b[i]);
    20 
    21         int sum=0;
    22         for(int i=1;i<n;i++)
    23         {
    24             A[i-1]=a[i]-a[i-1];
    25             sum+=a[i]-a[i-1];
    26         }
    27         A[n-1]=l-sum;
    28 
    29         sum=0;
    30         for(int i=1;i<n;i++)
    31         {
    32             B[i-1]=b[i]-b[i-1];
    33             sum+=b[i]-b[i-1];
    34         }
    35         B[n-1]=l-sum;
    36 
    37         bool flag=false;
    38         for(int t=0;t<n;t++)
    39         {
    40             for(int i=0;i<n;i++)
    41             {
    42                 if(A[i]!=B[(i+t)%n])  break;
    43                 if(i==n-1)   flag=true;
    44             }
    45             if(flag)  break;
    46         }
    47         if(flag)  puts("YES");
    48            else puts("NO");
    49     }
    50     return 0;
    51 }
  • 相关阅读:
    RESTful API 设计指南
    Lombok 安装配置及使用方法
    Python——urllib函数网络文件获取
    C与C++面试易出知识点
    编程一年
    Java练习1
    大整数求和
    PHP数组知识点整理
    CSS——NO.10(设置技巧)
    CSS——NO.9(颜色值和长度值)
  • 原文地址:https://www.cnblogs.com/zyb993963526/p/6880418.html
Copyright © 2011-2022 走看看