西邮Linux兴趣小组2017纳新免试题揭秘

2018年 西邮Linux兴趣小组 纳新免试题揭秘 前言 小组2018年的免试题的五位出题人是:小组16级成员刘付杰、李猛、时宇辰、王良、娄泽豪。(此处应有掌声若干秒) 本人虽然参与了出题,但是我对其他关卡知之甚少,于是好奇的我在免试题上线了之后,与大家一起开始了破关之旅。以下以我作为第一视角所写而成的“免试题攻略”,若有错漏,还请多多包涵,与我在评论区进行交流。 第一关 目前微信推送中第一关的入口已经下线,想要挑战的同学可以点击这里的入口... 阅读详情

声明

今年的免试题按照关卡顺序依次是由小组15级成员何攀、楚东方、宫展京、杜肖孟、王一妃同学精心准备的(鼓掌),每个人总结了一下自己负责关卡的解法,我这里整理了一下,给出一套完整的免试题详解,免试题通过方法不唯一哦,想分享的可以留言。文末附上小组前几年的免试题详解,感兴趣的同学可以参考着玩一下。Let’s go!

第一关

免试题链接:点此进入 ,进去之后会有如下页面映入眼帘:

这里写图片描述

首先,我们看到的是一段代码(运行结果是 11,代表着我们小组成立 11 周年)和一段关于 π 的视频,在欣赏完这曲美妙的钢琴曲后发现并没有什么其他的信息了,然后我们应该想到查看网页源代码(Ctrl+u 或 F12),然后会发现在网页源代码里有一个压缩包文件,如下图:

这里写图片描述

把这个压缩文件 XiyouLinuxGroup.zip 下载下来后,发现这个压缩包是加密的,然后我们应该想到这个密码肯定隐藏在这个网页的某个地方,这时候应该想起网页上的那段代码和视频,那这个代码的运行结果 11 与关于 π 的视频和那个压缩包的密码有什么联系呢?我们都知道 π 是一个无限不循环小数,所以密码不可能是 π ,然后,再联想一下那个 11,可以猜到密码应该是 π 的前 11 位,或者 π 的小数点后 11 位,试着输入一下,会发现密码就是 π 的前 11 位 3.141592653,解压完成后我们得到了这样一张图片:

这里写图片描述

这是我们小组的微信公众号,得到它后应该做什么呢?当然是关注了~

关注了之后呢,发现并没有什么过关提示,然后,我们再仔细看一下网页源代码,发现并没有什么可用的信息了,然后我们应该思考一下这个图片是不是有什么问题,用编辑器打开这个图片,这里以 vim 为例,发现文件头是没问题的,然后往下翻,会发现在文件尾有一些信息(可以在 vim 中执行命令 G 直达文件尾),如下图:

这里写图片描述

发现这段 Unicode 码,可以用 shell 命令把它提取出来,如下图所示:

这里写图片描述

找一个 Unicode 在线转换工具将这段 Unicode 码转换为字符,如下图所示:

这里写图片描述

了解 linux 的同学应该很容易看出这是一个 shell 命令,然后该怎么办呢?当然是找一台装有 linux 环境的机器(包括各种 linux 的发行版本,虚拟机,服务器等),这里以 Fedora 25 为例,运行结果如下图所示:

这里写图片描述

得到了这个运行结果后该干嘛呢?在网页上似乎也没发现可以提交的入口,这时候我们应该想到前期得到二维码后关注的那个公众号,把这个结果发到这个公众号试试,看看有什么效果,如下图所示:

这里写图片描述

微信自动回复是不区分大小写的,所以输入小写字母也是可以的,然后得到了这段大写数字,将它转换一下会发现这就是通往下一关的IP: 112.74.212.172

Note:
   本关网页上的那段代码寓意西邮Linux兴趣小组成立 11 周年,主要考察大家的分析、联想能力,还有就是对 linux 命令的掌握情况(当然也有一点儿为我们小组公众号打广告的成分),这就是免试题第一关的详解。

第二关

链接:点此进入

这里写图片描述

第二关界面上是一首诗、一首歌、n和m。歌的名字是“给我一首歌的时间”,暗示着只有一首歌的时间答题。事实上在一首歌的时间过后,其数据就会刷新。

首先审查元素,在这一首诗的上下分别找到了两个网址,我们首先访问第一个(点此进入),发现其为一个矩阵相乘得到矩阵a的问题,但是只给了第一个矩阵的信息,并没有第二个矩阵的信息,只是给了提示第二个矩阵已经发给我们。

我们审查元素发现该网址上有一段JS代码,其向我们发送了一个名为 “Matrix_2.html” 的矩阵,我们利用浏览器上的Network进行抓包,找到了第二矩阵,发现第二个矩阵为一个100×100的蛇型矩阵。

JS代码

利用Network进行抓包

抓包

通关以上步骤,我们已经得到了矩阵a。然后我们打开第二个链接,如果未翻墙的童鞋可能打不开,因为这个网址是由Google提供,需要翻墙才能访问,我们打开网页后发现其是一个公式:

公式

现在目标很明确了,我们知道了a,n,m,又得到了公式,我们要做的就是计算得到结果。那么我们又遇到两个问题,一是n是一个非常大的数,如果一个for循环相乘的话是无法在规定时间内得到结果的。二是一个数的n次幂是一个非常大的数,long long 和 int 都无法存下。(python 、php等不要求变量类型的语言除外)

为了解决着两个问题,这里提供两个解决方案
针对第一个问题,我们利用快速幂,把时间复杂度从O(n)降为O(log(n))。

对于第二个问题,我们采用乘法和加法的取模公式:

(a+b)%m = a%m + b%m
(a*b)%m = ((a%m)*(b%m))%m

下面给出解题代码(C++):

#include <iostream>
#include <cstdio>
#include <vector>
#include <string>
#define MOD 1000000007
using namespace std;

typedef long long ll;
void FillMtrix(int matrix[][105],int num);

void  get_re (int num);
vector<int> v,re;
ll qpow(ll p,ll q)
{
    ll f=1;
    while(q)
    {
        if(q&1)
            f=(f*p)%MOD;
        p=p*p%MOD;
        q>>=1;
    }
    return f;
}
int a[105][105];
int t ;
int main() 
{
    ll n ;
    cout <<"please input the number n: "<<endl;
    cin >> n;
    int ha = 100;
    FillMtrix(a, ha);
    /*for (int i = 0; i < ha; i++)
    {
        for (int j = 0; j < ha; j++)
        {
            cout << a[i][j]<<" ";
        }
        cout << endl;
    }*/
    cout << "please input the Mtrix: "<<endl;
    for(int i=0;i<100;i++)
    {
        cin >> t;
        v.push_back(t);
    }
    get_re(ha);
    ll ans =0;
    for(int i=0;i<re.size();i++)
    {
        ans +=  qpow(re[i],n);
        ans %=MOD;
        //cout << re[i]<< endl;
    }
    cout << "the answer :"<<endl;
    cout << ans<<endl;
    return 0;
}

void  get_re (int num)
{
    for(int i = 0;i<num;i++)
    {
        int tt=0;
        for(int j  = 0 ; j < num ; j++)
        {
            tt += v[j]*a[j][i];
        }
        re.push_back(tt);
    }
}




void FillMtrix(int matrix[][105],int num)
{
    int x = 0, y = 0;
    int val = 0;
    int curr_x = num, curr_y = num;

    while(x < curr_x && y < curr_y){

        //填充一行
        for(int i = y; i < curr_y; ++i){
            matrix[x][i] = ++val;
        }

        for(int i = x+1; i < curr_x; ++i){
            matrix[i][curr_y-1] = ++val;
        }

        for(int i = curr_y-2; i > y; --i){
            matrix[curr_x-1][i] = ++val;
        }

        for(int i = curr_x-1; i > x; --i){
            matrix[i][x] = ++val;
        }

        x++;
        y++;
        curr_x--;
        curr_y--;
    }

}

得到答案后,我们就来到了第三关,恭喜哦~~

第三关

链接:点此进入

这里写图片描述

首先,我们看到了一大段01串,但是却没有任何有效的信息。所以还是老套路,先看看源码里面有什么,我们发现了一个压缩包,解压后得到了一个a.out文件,这是linux下的可执行文件。执行看看:

这里写图片描述

发现需要参数,可是参数是什么呢,联想到我们一开始看到的01串,可能这01串就是提供给我们的参数,试着将前面几个字符转换成ASCII码,得道 U ,作为参数运行一下。

这里写图片描述

发现我们的思路是正确的,全部转换完成后如下

这里写图片描述

输入发现参数还不够,但我们得到了一条信息,png这是图片的一种格式。我们想想哪里还有图片?我们再回到这一关的入口,发现还有一个小组LOGO,按照套路来打开图片编码发现没有什么异常,那么再仔细观察一下这个图片,我们发现书上的字很突出(仰望星空,脚踏实地),这是在提示我们什么?我们发现企鹅并没有仰望星空,到却在它的脚下发现了两段英文字串。

这里写图片描述

这会不会是第二个参数呢,试一下。

这里写图片描述

发现参数正确,我们得到了最后一个参数的提示,又是一大段的正方形01串,看起来好像是个二维码,可是我们该怎么转换呢?这里提供几种思路:
1. 碰到1输出黑方框,0输出白方框
2. 可以采用execl画图的方式
3. python生成二维码

最后我们得到了一张二维码,扫完后得到了第三个参数CRBRKY++(如果扫不出来就反色一下二维码)

这里写图片描述

最后得到了密钥TXSRBSJ,括号内是AES,我们百度一下发现是一个加密算法,可是没有密文。再联想一下参数可能就是密文(毕竟我们没有见过这样的参数),我们找个在线解密网站试一下。

这里写图片描述

果然,解密后我们得到了一个网址,这个就是下一关的入口啦。

第四关

链接:点此进入
  
这里写图片描述

来到第四关,我们可以看到是一个非常炫酷的界面,会吸鼠标。上面有两行英文:more than one picture! 下面有一个 <---Go---> 是一个链接,我们点一下,下载了一个图片,有10.4M,这个时候就感觉到有点不对劲,一般图片没这么大。

这里写图片描述

图片是一张海伦凯勒的假如还有三天光明。我们用一个带GUI的工具以十六进制形式打开这个图片,看这个图片里面有什么玄机。这里我用ghex这个工具。

这里写图片描述

拉到最后,显示上面是一个压缩ZIP文件,那么我们直接改下这个文件的后缀为.zip,如图

这里写图片描述

解压这个压缩包,发现需要密码,那么密码在哪里找呢?想想网页上提示 more than one picture! ,那么除了还有一个压缩包外,还有其他什么东西吗?或者我们直接在这个图片编码中找一下这句话吧。
这里写图片描述

果然,图片中隐藏了这句话,而且我们发现下面的编码是.jpg格式的图片开头,那么下面也是一张图片喽,它被上面这张图片覆盖了,我们把上面这个图片编码删掉,那么这个图片就是展现出来。所以我们把第二章图片前面的编码都删掉,然后保存文件。再看刚才那张图片我们发现变成了下面这样:

这里写图片描述

这是什么鬼东西,再想想我们刚开始下载的那张图片还没有利用呢啊,会不会和这个图片有关系呢?我们知道海伦凯勒是个盲人,那么这个会不会是盲文。。。我们在网上搜一下盲文对照表,发现果然是这样的。我们可以对照一下,得出这个图片中的盲文表示:l2i0n1u7x,这应该就是那个压缩包的密码,我们试一下,果然成功解压,得到一段音乐。

非常好听的歌《模特》,文件名字翻译过来是请带上耳机(听力好的同学可以直接外放,能听出来左右声道不同,还会有滴答声),提示戴上耳机,可以联想到是不是左右声道有问题,那么我们就来看一下吧。

这里用audacity 打开,可以观察到左声道没问题,下面右声道看起来有几段和其他的明显不同。我们把上面的声道关闭,只听下面的,发现到音乐高潮的时候变成了滴答滴答的声音,这就是摩尔斯电码啦,我们放大下面的频谱,如图:

这里写图片描述

在网上找到摩尔斯电码对照表,然后把这四段对应的字符找出来,拼成一块发现是个网址:www.tanswer.org/sequin,恭喜你通关啦,这就是下一关的入口。

第五关

链接:点此进入

第五关作为整个免试题的最后一关,主要考察点是算法的图论方面。接下来详细介绍一下第五关的通关攻略lol,首先映入眼帘的是一些星球的连线。

页面一

相信有点图论基础的同学此时心里会大概有个方向了吧,页面上有个提交按钮还有一个start:1 end:4的提示告诉你起始点为1目标点为4。页面上暂时没有什么其他的有效信息,好在点比较少,我们可以先一个一个试一下。

对于给定的起始点和目标点来说,我们有以下四种路径:
1:1->2->4
2:1->3->4
3:1->5->4
4:1->6->4
这四条路径权值和分别为:
1->2->4 :2 + 3 = 5
1->3->4 :3 + 4 = 7
1->5->4 :4 + 5 = 9
1->6->4 :5 + 6 = 11

我们分别尝试这四条路径,发现提交1->3->4这条路径时页面跳转了,进入了第五关的第二个页面。

页面二

好吧,我相信在看到第二个页面的时候很多同学的内心是拒绝的O。。。其实我的内心也是拒绝的。。。然而再怎么吐槽这个图出题人也是硬着头皮画的你们也得硬着头皮做。。。ORZ

clock

一开始拿到这个图可能会有些头大,会发现有个残忍的倒计时,但这个时候需要你们理清思路回顾以下上一个页面。在上一个页面中,我们选择1->3->4 这条路径后进入到这个页面,根据上面每条路径权值和的分析,我们发现1->3->4 是所有路径中权值和第二小的的路径。思考到这里,第五关的通关规则就很清楚了,需要你找到从起始点到目标点的次短路径。

但是这么多星球,这么多连线,自己画出来十分的麻烦,这时我们可以延续前四关的优良传统——审查元素。

结点信息

这么明显的结点信息我想瞎子都能看到吧。。。赶紧先保存下来。

大概看了看,能够发现总共有50个点,97条边,每条边的权值为分数。
现在图信息有了,通关规则也有了,剩下的就是解题了。倒计时为30s,这意味着你肯定不能手动计算,还是乖乖谷歌下次短路算法吧。


下面给出代码:

#include <iostream>
#include <string.h>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#define N 205
#define MAX 0x03fffffff
using namespace std;
double Metrix[N][N];
double dist[N];
int vist[N];
int path[N];

struct edge
{
    int s,t;
    double cost;
}E[N];

int Dijkstra(int s,int t,int NV)
{
    int u=s,v=t;
    for(int i=1;i<=NV;i++)
    {
        dist[i]=MAX;
        vist[i]=0;
    }
    for(int i=1;i<=NV;i++)
    {
        path[i]=s;
    }
    dist[u]=0;

    for(int i=1;i<=NV;i++)
    {
        double min_value = MAX;
        for(int j=1;j<=NV;j++)
        {
            if(vist[j]==0&&dist[j]<min_value)
            {
                min_value=dist[j];
                u=j;
            }
        }
        vist[u]=1;
        for(int j=1;j<=NV;j++)
        {
            if(vist[j]==0&&dist[u]+Metrix[u][j]<dist[j])
            {
                dist[j]=dist[u]+Metrix[u][j];
                path[j]=u;
            }
        }
    }
    if(fabs(dist[t]-MAX) < 0.000001)return -1;
    return 10;
}

void SP2th(int s,int t,int NV)//NV为节点数
{
    int flag=Dijkstra(s,t,NV);//求最短路
    printf("%lf ", dist[t]);
    if(flag==-1)
    {
        printf("0");
    }
    else
    {
        float min_SP=MAX;
        int u=s,v=t,arcNum=0;
        while(v!=u)//保存最短路到E[i]
        {
            E[arcNum].s=v;
            E[arcNum].t=path[v];
            E[arcNum].cost=Metrix[v][path[v]];
            arcNum++;
            v=path[v];
        }

        for(int i=0;i<arcNum;i++)
        {   //删除E[i]
            u=E[i].s;
            v=E[i].t;
            Metrix[u][v]=Metrix[v][u]=MAX;
            flag=Dijkstra(s,t,NV);//重新计算最短路
           // printf("  %lf-=-=\n", dist[t]);
            if(flag==-1)
            {
                printf("0");
            }
            else
            {
                //OutPath(s,t,NV);
                if(min_SP>dist[t])min_SP=dist[t];
            }
            Metrix[u][v]=Metrix[v][u]=E[i].cost;

            int u = s, v = t;
            while(v != u){
                printf("%d->", v);
                v = path[v];
            }


            printf("%d  %lf\n",s, dist[t]);

        }
        printf("%lf",min_SP);
    }
}
int main(int argc, char * argv[])
{
    int m,n;//n为节点数,m为边数
    int ss = 0;
    int tt = 0;
    ss= atoi(argv[1]);
    tt = atoi(argv[2]);
    freopen("./CASE.txt", "r", stdin);
    cin >> n >> m;
    int s,t;
    int aa, bb;
    double c = 0.0;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(i==j)
            {
                Metrix[i][j]=MAX;
            }
            else
            {
                Metrix[i][j]=MAX;
                Metrix[j][i]=MAX;
            }
        }
    }
    for(int i=0;i<m;i++)//每条路的代价
    {
        cin >> s >> t >> aa >> bb;
        c = aa /(bb * 1.0);


        if(c<=Metrix[t][s])
        {
            Metrix[s][t]=Metrix[t][s]=c;
        }
    }

    SP2th(ss,tt,n);//求s->t的次短路

    return 0;
}

提交

30秒的时间真的是有点紧张,不过如果你是用程序的话还是可以来得及的,我们提交下试试

结束

看样子是过咯~至此2017年免试题揭秘到此结束。

结束的话:
通关只是目的之一,免试题并不是难住所有做题的人才高兴,我们其实想让更过的同学参与进来,希望大家能够在做题的过程中学到新的、有用的知识,激发大家对技术研究的兴趣。加油吧少年!

参考链接:
2013 Linux 兴趣小组免试题解析
2014 Linux 兴趣小组免试题解析
2015 Linux 兴趣小组免试题解析
2016 Linux 兴趣小组免试题解析

2015 西邮Linux兴趣小组纳新试题 C语言是IT初学者的必学语言,大一学生进入学校的实验室要经过笔试,C语言是必不可少的,所以这份西邮Linux兴趣小组2015纳新试题是一份很不错的参考资料。 立即下载

相关推荐

西邮Linux兴趣小组2017纳新试题

西邮Linux兴趣小组2017纳新试题无答案pdf版本

西邮Linux兴趣小组2023纳新面试题解

*请实现 filter()函数:过滤满足条件的数组元素。提示:使用函数指针作为函数参数并且你需要为新数组分配空间。i<length;i++){cnt++;

2301_80123601的博客 383

SAP接口错误查询日志

随着数字经济的迅速发展,企业数字化转型不在只追求“业财一体化”,而是在业务端也想要进行更为精细化的管理,所以很多企业在SAP ERP的基础上,集成更多垂直领域更精细的外围系统,比如销售CRM系统,采购SRM系统,生产MES系统等等,琳琅满目的产品,那对SAP实施来说,系统集成过程中,接口的一些报错查询能力必不可少,今天我们就介绍一下,SAP和CRM系统集成中接口常见的报错。

weixin_43657667的博客 2047

西安邮电大学2024Linux兴趣小组面试题解析

这段代码实现了通过递归和位运算计算平均值的功能。虽然位运算提供了效率和防溢出的优势,但在可读性和逻辑复杂性上存在缺点。在实际使用中,应根据需求和环境的具体情况选择适当的实现方式。argcargc是一个整数,表示命令行参数的数量,包括程序的名称。也就是说,argc的值至少为 1,因为第一个参数总是程序自身的名称。argvargv是一个字符串数组(字符指针数组),每个元素都是一个命令行参数的字符串。argv[0]是程序的名称,argv[1]是第一个命令行参数,依此类推。最后一个元素通常是NULL。

weixin_45388737的博客 841

链路聚合Eth-trunk以及华为交换机配置实例

链路聚合简介 以太网链路聚合Eth-Trunk简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。 目的: 随着网络规模不断扩大,用户对骨干链路的带宽和可靠性提出越来越高的要求。在传统技术中,常用更换高速率的接口板或更换支持高速率接口板的设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够灵活。 采用链路聚合技术可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口

ChaseAug的博客 2万+

TI C2000 , .cmd文件,.TI.ramfunc,将程序分配为在RAM中运行/Flash运行的配置方法和原理讲解,(如28375S ,280049,28335等等芯片)

1 基础知识讲解 1.1 在RAM中运行还是在flash中运行指的是什么? 1.1.1 背景:程序编译完之后生成的.bin文件,.bin文件中包含代码段,代码段中全是汇编指令,而汇编指令中包含多个函数,各函数头的地址不同,如存在A函数和B函数,假设RAM地址区间是0x0000-0x8000,flash的地址区间是0xA000-0xF000,A函数要调用B函数,则A函数调用B函数的那段汇编指令中包含的是B函数头的存储地址,A函数和B函数都在flash中有存储 1.1.2 情况1:B函数是配置为在RAM中运行,

weixin_43776284的博客 8065

Liunxx兴趣小组笔记

==========  指令集和CPU(Instruction set and Central Process Unit) ========== 1. 计算机只认识0和1。0和1的排列组合构成指令。不一样的CPU,会有不一样的指令集架构。指令集架构分为RISC和 CISC架构(RISC,reduced instruction set computer,精简指令集。CISC,complex in

778

HyperLynx实战:手把手教你搞定DDR4信号完整性仿真(附ODT与终端电阻配置避坑)

本文详细介绍了使用HyperLynx进行DDR4信号完整性仿真的实战技巧,重点解析了ODT配置与终端电阻优化的黄金法则。通过模型准备、拓扑构建、ODT扫描等关键步骤,帮助硬件工程师规避常见设计陷阱,提升高速数字电路设计的效率与可靠性。

weixin_30861797的博客 639

中国七大邮电院校特色大PK

        自古以来,基督教就有将圣人与特定花朵连结在一起的习惯,这因循于教会在纪念圣人时,常以盛开的花朵点缀祭坛。中世纪的大部分修道院都位于南欧地区,这里属地中海型气候,极适合栽种花草。所以,修道院内有如园艺中心般种植着各式各样的花草,久而久之,教会便将每天的圣人分别和不同的花朵连在一起,形成所谓的花历。现在我用“花样年华”来修饰邮电类院校,想必大家都不会有异义。太多的理由不用说,只想想

ilorchid的专栏 2748

TypeScript领域建模实战:基于斯坦福本体论七步法构建健壮数据模型

在软件工程中,领域建模是连接业务需求与技术实现的关键桥梁,其核心在于对业务概念、属性及其关系的显式定义与规范。通过系统化的建模方法,开发者能够将模糊的领域知识转化为清晰、可扩展且类型安全的数据结构,从而在编译时捕获潜在错误,提升代码质量与可维护性。这一过程的技术价值在于实现了从业务逻辑到类型系统的无损映射,确保了设计的一致性。在实践中,结合TypeScript的静态类型检查与Zod的运行时验证,可以构建起从概念到代码再到数据库的三层一致性约束。本文以电商、博客等常见应用场景为例,深入解析如何运用源自斯坦福知

weixin_42551967的博客 383

【C++PCL】点云文件读写

本文介绍 PCL 中 PCD 与 PLY 点云文件的读取、保存和字段检查,覆盖 PointXYZI、PointXYZRGB、ASCII、二进制及压缩二进制,并给出 C++11 实操代码与参数调试建议。

weixin_45196569的博客 42

优快云纳新文稿

或许我在刚刚开始之时,都一无所有,是一个衣着无拘束,穿牛仔,体恤衫,背背包的大学生,由于无积累,才逼得我另辟蹊径,没有高技能,高学历,高智商,但是在csdn大家族的带领下,让我拥有了一股改变世界的创新冲动。在csdn里,我读懂了勤能补拙的道理,感受到了拼搏,斗志,努力,坚持,温暖等正能量的一切。            csdn一个藏龙卧虎的地方,不得不让人钦佩,让人惊叹,他们的自学,乐助,在无形

liuxiuqi1314的专栏 583

[Godot][入门] 安装与版本选择:3.x 还是 4.x?(按项目类型一键决策)

摘要: Godot引擎版本选择需根据项目需求权衡3.x与4.x。Godot4.x(如4.2)适合3D开发和新项目,支持Vulkan和GDScript2.0,但生态尚不成熟;Godot3.x(如3.5.3)则更适合稳定2D开发、Web导出及依赖现有插件/教程的场景。安装方式极简,官网下载解压即可运行。新手建议:短期高效选3.x,长期探索选4.x,旧项目勿盲目迁移。附版本对比表及决策树,助开发者快速匹配需求。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 910

西邮Linux兴趣小组13级纳新免试题浅析(上)

纳新的季节一切都是新的!会有一个新的开始,新的计划,新的想法~~~自己大一的时候看着学长学姐在上面讲自己激动地在下面听。到现在自己给学弟学妹们讲 ~! 时间过的比你想的总是快那么长一截 ...... 好 ~ 不感慨了 , 再不拼一把 , 真的就老了 。           下面就分析一下今年的免试题 , 以下是自己和伙伴的解题记录。如果哪里有不严谨,言之不到位的地方,还请过路的大神不吝赐教!

tutulove1234的专栏 3017

【部署】Ubuntu 24.04.4虚拟机下部署OpenClaw

OpenClaw是一款基于AI的智能助手工具,本文详细介绍了在Ubuntu 24.04.4系统上的三种安装方法。推荐使用一键安装脚本(curl -fsSL https://openclaw.ai/install.sh | bash),自动完成Node.js检测、CLI安装和引导配置。对于开发者,提供了从源码构建的详细步骤,包括环境准备、依赖安装和构建流程。文章还包含常见问题解决方案(如sharp构建错误处理)以及后续维护建议(更新、配置检查和日志查看)。安装完成后,用户可通过终端TUI或Web UI进行初始

海兰 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

2021年 西邮Linux兴趣小组 纳新免试题揭秘

文章目录引言第一关第二关第三关第四关第 5 题总结 引言 小组2020年的免试题的四位出题人是:小组18级成员李兆龙,20级成员赵子玮,刘树杭,任子涧。 同时19级成员周阔,戚凯萌,胡哲宁参与题目审查与展示工作。 目前题目链接还没有下线,想要挑战的同学可以继续尝试挑战。 好了,让我们来开启一场头脑风暴吧! 第一关 q.xiyoulinux.org 第二关 http://q.xiyoulinux.org/a4wpAj 网页上只有三个东西:一首诗、一张奇奇怪怪的图片以及一段音乐。无视那个版权声明 这段音乐貌

李兆龙的博客 2910

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

西邮Linux兴趣小组2017纳新免试题第一关详解

当打开免试题链接(new.xiyoulinux.org)的时候会有如下页面映入眼帘:    首先,我们看到的是一段代码(运行结果是 11,代表着我们小组成立 11 周年)和一段关于 π 的视频,在欣赏完这曲美妙的钢琴曲后发现并没有什么其他的信息了,然后我们应该想到查看网页源代码(Ctrl+u 或 F12),然后会发现在网页源代码里有一个压缩包文件,如下图:   把这个压缩文件 XiyouLinux

HP的博客 2891

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

西邮linux兴趣小组2016纳新免试题level_1

当打开免试题链接的时候,大家看到了这样一个页面: 毫无疑问点击START,当你还想着和去年一样图片里面含有一些东东的话,那么你可能得走一些弯路了。点击START进去之后会看到这样一个页面: 然后发现这个简单的页面只有中间的数字可以点击,点击多次之后就会发现你进入死循环了,2006=>2007=>2008……2015=>2006=>2007…… 遇上这样的情况我们首先看一下网页的源码 <

zhuxinquan的博客 1838

西邮Linux兴趣小组13级纳新免试题浅析(下)

哈哈 , 继续坚持哦 !

tutulove1234的专栏 1324

西邮Linux兴趣小组13级纳新免试题浅析(中)

相信看过上之后, 很想知道得到那个

tutulove1234的专栏 1515

西邮Linux兴趣小组2014级免试挑战题

  原文链接:西邮Linux兴趣小组2014级免试挑战题      又到了小组纳新的季节^_^,时间过的真快! 想起去年这会儿自己做免试题的时候根本找不着北@_@ 有幸今年能够在这里和大家分享免试挑战题,也正如我们的纳新宣传语:"在这里,让每一个意想不到成为意料之中"。   免试题共有设五关,分别由小组13级成员:郭遗欢、李林翰、高朴、王博、王伟豪 五位同学负责出的,在此向他们付出的辛苦...

weixin_30569001的博客 202

2013 2014 2015 2016 Xiyou Linux Group 免试题揭秘

首先给出原来几届的免试题解析链接:2013 Linux 兴趣小组免试题解析 2014 Linux 兴趣小组免试题解析 2015 Linux 兴趣小组免试题解析目前2016 Linux 兴趣小组免试题还在线,大家有兴趣可以玩一玩。2016年的免试题是由14级成员朱新全、张明瑞、周攀、杨博东、师毅五位同学出的。感谢他们。下面我们进入2016年的免试题揭秘。【第一关】当打开免试题链接的时候,大家看到了

杨博东的博客 3722

西邮Linux兴趣小组13级纳新免试题浅析(完结)

能来到这里,你在同龄任

tutulove1234的专栏 1403

西邮Linux兴趣小组2014级免试挑战题 (续)

  在上一篇的博客中已经解到第四关了,现在继续挑战~~ 【第四关】   在上一关解压成功后,生成了一个file文件。用vim的二进制格式打开,转成十六进制,发现文件头格式如下:   是个以ELF字符开头的文件,那就是个可执行的文件(ps:关于这点同样可以用file命令或者binwalk工具分析,下面是file命令分析的截图,可以发现还是x64平台下的)。   给这个file...

weixin_30852451的博客 159

LINUX兴趣小组面试总结

记着大概是一个月以前的四月一号,我第一次得知我期盼已久的Linux兴趣小组开始纳新了,那时的我激情满怀,决定这个月好好学习,为linux面试做准备,接下来的一个月,我开始写raysnote,写了很多linux的命令学习笔记,写了一篇算法导论的学习笔记,写了点数据结构与算法的学习笔记,日常刷刷题,周末和队友做网赛,大概这一个月就这么过来了,我一直觉得时间过得很快,但是...

274
上一篇: Redis 和 I/O 多路复用
下一篇: 【C++】尽量以const,enum,inline 替换 #define
Tanswer_
博客等级 码龄11年 231粉丝 91原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值