首页 > 深信服笔试题解
头像
北邮倒数第一源
编辑于 2020-09-10 19:43
+ 关注

深信服笔试题解

第一题 题意难理解。。。。反过来接雨水就完事了

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn=1e5+100;
int T,n,m;
int A[maxn];
int R[maxn];


int main()
{
    int w,l;
    while(cin>>w>>l)
    {
        for(int i=1;i<=l;i++)
        {
            cin>>A[i];
            A[i]=100-A[i];
        }
        R[l+1]=0;
        for(int i=l;i>=1;i--)
            R[i]=max(R[i+1],A[i]);
        int res=0;
        for(int i=1;i<=l;i++)
        {
            res+=w*(R[i]-A[i]);
        }
        cout<<res<<endl;
    }
}

第二题 暴搜就完事了

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn=1e5+100;
int T,n,m;
int  A[maxn];
int sx,sy;
int ex,ey;
int vis[11][11];
int dr[][2]={-1,0,1,0,0,-1,0,1};
int res;
void dfs(int x,int y,int cnt)
{
    if(x==ex&&y==ey)
    {
        if(cnt==n*m-1)
            res++;
        return ;
    }
    for(int i=0;i<4;i++)
    {
        int xx=x+dr[i][0];
        int yy=y+dr[i][1];
        if(!(xx>=0&&xx<n&&yy>=0&&yy<m)) continue;
        if(vis[xx][yy]) continue;
        vis[xx][yy]=1;
        dfs(xx,yy,cnt+1);
        vis[xx][yy]=0;
    }
}

int main()
{
    while(cin>>n>>m)
    {
        cin>>sx>>sy;
        cin>>ex>>ey;
        res=0;
        memset(vis,0,sizeof(vis));
        vis[sx][sy]=1;
        dfs(sx,sy,0);
        cout<<res<<endl;
    }
}

全部评论

(5) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐