第十一届蓝桥杯国赛

A

在这里插入图片描述
答案:563
代码:

#include <bits/stdc++.h>
using namespace  std;

int check(int x)
{
    while(x > 0){
        int a = x%10;
        if(a == 2) return 1;
        x /= 10;
    }
    return 0;
}
int main()
{
    int ans = 0;
    for(int i = 1; i<= 2020;i++){
        if(check(i))
            ans++;
    }
    cout<<ans<<endl;
}

B

在这里插入图片描述

C

在这里插入图片描述

答案:39001250856960000

思路:分解质因数,然后约数求和公式

#include <bits/stdc++.h>
using namespace  std;
#define  INF 0x3f3f3f3f
const int maxn = 10005;
typedef long long ll;

int p[maxn];
int main()
{
    for(int i = 2;i <= 100;i++){
        int n = i;
        for(int j = 2 ;j <= n / j;j++){
            while(n % j == 0){
                p[j]++;
                n /= j;
            }
        }
        if(n > 1)
            p[n]++;
    }
    // cout<<sum<<endl;;
    ll ans = 1;
    // for(auto i :mp){
    //     cout<<prime[i]<<",";
    //     ans = ans * ll(prime[i]+1); 
    // }
    for(int i = 2; i <= 100; i++)
        if(p[i]){
            ans *= (p[i] + 1);
            cout<<ans<<endl;
        }
    cout<<ans<<endl;
    return 0;
}

D

在这里插入图片描述

E

在这里插入图片描述

答案:552

#include <bits/stdc++.h>
using namespace  std;
#define  INF 0x3f3f3f3f
const int maxn = 10005;
typedef long long ll;

int f[maxn][maxn];
int vis[maxn][maxn];
int ans = 0;

void dfs(int x,int y,int l){
    if(x < 0 || x >= 4 || y < 0 || y >= 4) return;
    if(vis[x][y]) 
        return;
    if(l == 16){ 
        ans++;
        return ;
    }
    vis[x][y] = 1;
    dfs(x + 1,y,l+1);
    dfs(x,y+1,l + 1);
    dfs(x - 1,y,l + 1);
    dfs(x,y - 1,l + 1);
    vis[x][y] = 0;
}
int main()
{
    for(int i = 0; i < 4; i++)
        for(int j = 0; j < 4; j++){
            dfs(i,j,1);
        }
    cout<<ans<<endl;
    return 0;
}

G

在这里插入图片描述

最长上升子序列+路径输出

#include <bits/stdc++.h>
using namespace  std;
#define  INF 0x3f3f3f3f
const int maxn = 10005;
typedef long long ll;

set<string> st;
vector<string> a;
string vis[maxn];
int f[maxn];
int la[maxn];
stack<string> fans;
int main()
{
    string s,ss;
    cin>>s;
    ss= "";
    ss += s[0];
    for(int i = 1;i < s.length();i++){
        if( s[i] >= 'A' && s[i] <= 'Z'){
            st.insert(ss);
            a.push_back(ss);
            ss = ""; 
        }
        ss += s[i];
    }
    st.insert(ss);
    a.push_back(ss);
    int n =st.size();
    // for(auto i : st){
    //     // vis[++n] = i;
    //     cout<<i<<endl;
    // }
     int ans = 0,k = 0;
    for(int i = 0;i < n; i++){
        f[i] = 1;
        for(int j = 0;j < i ;j++){
            if(a[j] < a[i]){
                if(f[j] + 1> f[i]){
                    // cout<<a[j] <<" "<<a[i]<<endl;
                    // cout<<a[i]<<endl;
                    la[i] = j;
                    f[i] = f[j] + 1;
                    if(ans < f[i]){
                        ans = f[i];
                        k  =i;
                    }
                }
            }
            // cout<<f[j]<<" ";

        } 
        // cout<<endl;
    }
    // cout<<ans<<" "<<k<<endl;
    for (int i = 0;i < ans; ++i)
    {
        fans.push(a[k]);
        k = la[k];
    }
    while (!fans.empty())
    {
        cout<<fans.top();
        fans.pop();
    }
    cout<<endl;
    // cout<<ans[n-1]<<endl;
    return 0;
}

H

在这里插入图片描述在这里插入图片描述

第十三届蓝桥杯国赛web前端组(大学组)第七题是要求设计一个会议管理系统,可以帮助用户方便地组织和管理会议。针对这个题目,我可以给出如下的解答: 一个完善的会议管理系统应具备以下功能。首先,用户可以创建会议,设定会议的时间、地点和议程,并邀请参会人员。其次,系统应支持参会人员提前确认参会或者请假的功能,在会议开始前能清晰获得与会人员的参会情况。同时,会议管理系统还应能够提供参会人员的名单和联系方式,以便组织者能够随时与与会人员取得联系。 此外,会议管理系统还应提供会议资料的上传和下载功能,参会人员可以方便地查看和下载与会议相关的文档和资料。除此之外,系统还应支持会议纪要和决议的记录,可以方便地生成会议记录与会议结果,以便参会人员能够回顾会议内容。 为了提升系统的易用性和便捷性,我建议在系统中设计一个直观友好的用户界面,方便用户进行各项操作。同时,系统还应能够提供即时通知功能,包括会议时间变动、参会人员请假等信息的推送,以便参会人员能够及时了解会议动态。 此外,为了保证会议的隐私和安全,会议管理系统还应具备相应的权限管理功能,不同的角色可以拥有不同的权限。例如,组织者可以有创建、修改和删除会议的权力,而参会人员只能查看和下载相关资料。 综上所述,一个功能完善、界面友好、易用便捷的会议管理系统将大大提高会议的管理效率和参会人员的体验,并且满足方便、高效组织会议的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值