zoukankan      html  css  js  c++  java
  • Wannafly挑战赛3

    B遇见
    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 65536K,其他语言131072K
    64bit IO Format: %lld

    题目描述

    A和B在同一条路上,他们之间的距离为 k 米。A现在想见到B,所以A开车以 x km/h的速度朝着B的方向行驶,同时B也以 y km/h的速度朝着A的方向走去。A的车有 n 个档位,每个档位有不同的速度。现在假设A开车去见B,求他最快和最慢在几秒后能见到B。

    输入描述:

    一开始一行三个整数 n, m, k ,代表A的车的档位数、B行走的速度和AB之间的距离。
    接下来一行 n 个整数,代表A的车的不同档位的行驶速度。

    输出描述:

    一行两个整数,代表A最快/最慢在几秒后能见到B(向上取整)。
    示例1

    输入

    5 20 80
    30 15 10 5 -5

    输出

    6 20

    备注:

    对于所有数据,0 <= n <= 1000,-100000 <= A车速度 <= 100000,-A最慢速度 < B行走速度 <= 100000,0 <= k <= 100000.
    题目保证最大值和最小值都有解。

    本来没看数据范围,还听大佬一直在喊+0.5,还真的就+0.5交了好几发。还说这个提交时间很长是还没有返回结果,还没交上,爆交失败

    最后发现n=0,mmp

    #include <bits/stdc++.h>
    using namespace std;
    int a[1005];
    int main()
    {
        int n,m,k;
        ios::sync_with_stdio(false);
        cin>>n>>m>>k;
        for(int i=0; i<n; i++)
            cin>>a[i];
        int ma=*max_element(a,a+n),mi=*min_element(a,a+n);
        cout<<(ceil)(k*3.6/fabs(m+ma))<<" "<<(ceil)(k*3.6/fabs(m+mi));
        return 0;
    }
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n,m,k;
        cin>>n>>m>>k;
        if(n==0)cout<<(ceil)(k*3.6/m)<<" "<<(ceil)(k*3.6/m);
        else
        {
            vector<int>V;
            for(int i=0; i<n; i++)
            {
                int x;
                cin>>x;
                V.push_back(x);
            }
            sort(V.begin(),V.end());
            cout<<(ceil)(k*3.6/(m+V[n-1]))<<" "<<(ceil)(k*3.6/(m+V[0]));
        }
        return 0;
    }
    DButterfly2
    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 65536K,其他语言131072K
    64bit IO Format: %lld

    题目描述

    给定一个 n*m 的矩阵,矩阵元素由X和O构成,请求出其中最大的蝴蝶形状。
    蝴蝶形状的定义如下:
    存在一个中心点(必须为X),并且其往左上(必须为X)、左下(必须为X)、右上(必须为O)、右下(必须为O)四个方向扩展相同的长度,且左上顶点与左下顶点之间全由X填充,右上顶点与右下顶点之间全由O填充。
    我们不在意在蝴蝶形状内部是X还是O。
    例如:
        XAAAO
        XXAOO
        XAXAO
        XXAOO
        XAAAO
    是一个蝴蝶形状(其中A表示X或O)。
        X
    也是。

        XAAO
        XXOO
        XXOO
        XAAO
    不是(不存在中心点)。

    输入描述:

    第一行两个整数n, m表示矩阵的大小 (1 <= n, m <= 500);
    接下来 n 行,每行一个长度为 m 的字符串表示矩阵,矩阵元素保证由X和O构成。

    输出描述:

    一行一个整数表示最大的蝴蝶形状的对角线的长度。
    示例1

    输入

    5 5
    XOOOO
    XXOOO
    XOXOO
    XXOOO
    XOOOO

    输出

    5

    暴力前缀和,处理下情况,然后去枚举

    #include <bits/stdc++.h>
    using namespace std;
    char s[501][501];
    int X[501][501],O[501][501];
    int n, m;
    int main()
    {
        scanf("%d%d",&n,&m);
        for(int i=1; i<=n; i++)
            scanf("%s",s[i]+1);
        for(int j=1; j<=m; j++)
            for(int i=1; i<=n; i++)
            {
                X[i][j]=X[i-1][j]+(s[i][j]=='X');
                O[i][j]=O[i-1][j]+(s[i][j]=='O');
            }
        int ans=0;
        for(int i=1; i<=n; i++)
            for(int j=1; j<=m; j++)
                if(s[i][j]=='X')
                {
                    ans=max(ans,1);
                    for(int k=1;; k++)
                    {
                        int l=j-k,r=j+k,u=i-k,d=i+k;
                        if(l<1||r>m||u<1||d>n||s[u][l]!='X'||s[u][r]!='O'||s[d][l]!='X'||s[d][r]!='O')break;
                        if(O[d][l]-O[u-1][l]==0&&X[d][r]-X[u-1][r]==0)ans=max(ans, 1+2*k);
                    }
                }
        printf("%d
    ",ans);
        return 0;
    }
  • 相关阅读:
    iOS 动画 旋转 移动简单代码
    iOS 根据UIImage 修改UIImageView Frame (包括截取图片中间部分)
    Spark深入浅出
    Spark企业级开发最佳实践
    Spark架构案例鉴赏:Conviva、Yahoo!、优酷土豆、网易、腾讯、淘宝等公司的实际Spark案例
    Spark 1.0.0企业级开发动手:实战世界上第一个Spark 1.0.0课程,涵盖Spark 1.0.0所有的企业级开发技术
    Hadoop大数据时代:Hadoop&YarnSpark企业级最佳实践 (4天)
    Hadoop&Yarn&Mahout&Spark企业级最佳实践(3天)
    Conquer Big Data through Spark
    18小时内掌握Spark:把云计算大数据速度提高100倍以上!(Final版本)
  • 原文地址:https://www.cnblogs.com/BobHuang/p/7818661.html
Copyright © 2011-2022 走看看