1.3 crypt1

/*
ID:15521201
LANG:C++
PROG:crypt1
*/
#include <iostream>
#include <cstdio>


using namespace std;


int num[10],n;
int main()
{
    freopen("crypt1.in","r",stdin);
    freopen("crypt1.out","w",stdout);
    int t,sum,ko[10],h=0;
    int check(int x);
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>t;
        num[i]=t;
    }
    sum=0;
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
            if(num[i]*num[j]<10)
            {
                for(int k=0;k<n;k++)
                    if(num[i]*num[k]<10)
                    {
                        for(int l=0;l<n;l++)
                            if((num[i]*10+num[l])*num[j]<100&&(num[i]*10+num[l])*num[k]<100)
                            {
                                for(int m=0;m<n;m++)
                                    if((num[i]*100+num[l]*10+num[m])*num[j]<1000&&(num[i]*100+num[l]*10+num[m])*num[k]<1000&&(num[i]*100+num[l]*10+num[m])*(num[j]*10+num[k])<10000)
                                    {
                                        int a=(num[i]*100+num[l]*10+num[m])*(num[j]*10+num[k]),b=(num[i]*100+num[l]*10+num[m])*num[j],c=(num[i]*100+num[l]*10+num[m])*num[k];
                                        if(check(a/1000%10)==1&&check(a/100%10)==1&&check(a/10%10)==1&&check(a/1%10)==1&&check(b/100%10)==1&&check(b/10%10)==1&&check(b/1%10)==1&&check(c/100%10)==1&&check(c/10%10)==1&&check(c/1%10)==1)
                                            sum++;


                                    }
                            }
                    }
            }
    cout<<sum<<endl;
    return 0;
}


int check(int x)
{
    int t=0;
    for(int i=0;i<n;i++)
        if(num[i]==x)
        {
            t=1;
            break;
        }
    return(t);

}


一开始就想到全部列举,但是又怕超时,想了好久看题解,发现题解表示列举口以,复杂度为O(9^5*n)(想法就是分开来选择,满足条件的三位数和一位数的乘积,组合两个一位数,其间从高位到低位进行筛选,比如说三位数的百位乘一位数不能超10,三位数的最高两位乘一位数不能超100,三位数全部三位乘一位数不能超1000,另外组合两个一位数而成的两位数乘三位数全部不能超10000,另外还要对最后的结果的每一位存在是否合法进行判断)(我的j,k分别表示两位数的十位和各位,i,l,m分别表示百位数的百位,十位和个位)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的影城管理系统,源码+数据库+论文答辩+毕业论文+视频演示 随着现在网络的快速发展,网上管理系统也逐渐快速发展起来,网上管理模式很快融入到了许多生活之中,随之就产生了“小徐影城管理系统”,这样就让小徐影城管理系统更加方便简单。 对于本小徐影城管理系统的设计来说,系统开发主要是采用java语言技术,在整个系统的设计中应用MySQL数据库来完成数据存储,具体根据小徐影城管理系统的现状来进行开发的,具体根据现实的需求来实现小徐影城管理系统网络化的管理,各类信息有序地进行存储,进入小徐影城管理系统页面之后,方可开始操作主控界面,主要功能包括管理员:首页、个人中心、用户管理、电影类型管理、放映厅管理、电影信息管理、购票统计管理、系统管理、订单管理,用户前台;首页、电影信息、电影资讯、个人中心、后台管理、在线客服等功能。 本论文主要讲述了小徐影城管理系统开发背景,该系统它主要是对需求分析和功能需求做了介绍,并且对系统做了详细的测试和总结。具体从业务流程、数据库设计和系统结构等多方面的问题。望能利用先进的计算机技术和网络技术来改变目前的小徐影城管理系统状况,提高管理效率。 关键词:小徐影城管理系统;Spring Boot框架,MySQL数据库
很抱歉,我是一个语言模型,无法为你提供实际操作的指导。但是,你可以参考以下步骤来完成这些任务: 1. 安装配置 postfix 和 dovecot 在 CentOS 中,使用以下命令安装 postfix 和 dovecot: ``` sudo yum install postfix dovecot ``` 然后,编辑 `/etc/postfix/main.cf` 文件,使其包含以下内容: ``` # 禁止使用不安全的 smtp 发送邮件 smtpd_tls_security_level = may smtpd_tls_protocols = TLSv1.2, TLSv1.3 smtpd_tls_ciphers = high smtpd_tls_mandatory_protocols = TLSv1.2, TLSv1.3 smtpd_tls_mandatory_ciphers = high # 启用 smtps smtpd_use_tls=yes smtpd_tls_auth_only = yes smtp_tls_security_level = may smtp_tls_protocols = TLSv1.2, TLSv1.3 smtp_tls_ciphers = high smtp_tls_mandatory_protocols = TLSv1.2, TLSv1.3 smtp_tls_mandatory_ciphers = high # 禁止使用不安全的 imap 接收邮件 imap_tls_security_level = may imap_tls_protocols = TLSv1.2, TLSv1.3 imap_tls_ciphers = high imap_tls_mandatory_protocols = TLSv1.2, TLSv1.3 imap_tls_mandatory_ciphers = high # 启用 imaps imaps_use_tls=yes imaps_tls_auth_only = yes ``` 接下来,编辑 `/etc/dovecot/conf.d/10-auth.conf` 文件,取消以下注释: ``` disable_plaintext_auth = yes auth_mechanisms = plain login ``` 最后,重启 postfix 和 dovecot: ``` sudo systemctl restart postfix sudo systemctl restart dovecot ``` 2. 安装配置 postfixadmin 在 CentOS 中,使用以下命令安装 postfixadmin: ``` sudo yum install postfixadmin ``` 然后,编辑 `/etc/httpd/conf.d/postfixadmin.conf` 文件,使其包含以下内容: ``` Alias /postfixadmin /usr/share/postfixadmin <Directory /usr/share/postfixadmin> Options FollowSymLinks AllowOverride All Require all granted </Directory> ``` 接下来,编辑 `/etc/postfixadmin/config.local.php` 文件,使其包含以下内容: ``` <?php $CONF['configured'] = true; $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfix'; $CONF['database_password'] = 'password'; $CONF['database_name'] = 'postfix'; $CONF['default_language'] = 'cn'; $CONF['admin_email'] = 'admin@chinaskills.cn'; $CONF['footer_text'] = 'Postfix Admin'; $CONF['encrypt'] = 'dovecot:SHA512-CRYPT'; $CONF['smtp_server'] = 'localhost'; $CONF['smtp_port'] = '25'; $CONF['smtp_secure'] = ''; $CONF['dovecotpw'] = '/usr/bin/doveadm pw -s SHA512-CRYPT'; $CONF['quota'] = 'YES'; $CONF['quota_multiplier'] = '1024000'; $CONF['used_quotas'] = 'YES'; ?> ``` 其中,`database_password` 和 `dovecotpw` 应该替换为实际的密码。 最后,重启 Apache: ``` sudo systemctl restart httpd ``` 3. 创建虚拟域和用户 使用以下命令创建虚拟域和用户: ``` sudo postconf -e 'virtual_mailbox_domains = chinaskills.cn' sudo postconf -e 'virtual_mailbox_base = /var/vmail' sudo postconf -e 'virtual_mailbox_maps = hash:/etc/postfix/vmailbox' sudo postconf -e 'virtual_alias_domains =' sudo postconf -e 'virtual_alias_maps = hash:/etc/postfix/virtual' sudo groupadd -g 2000 vmail sudo useradd -g vmail -u 2000 vmail -d /var/vmail -m sudo chown -R vmail:vmail /var/vmail sudo touch /etc/postfix/virtual sudo chmod 600 /etc/postfix/virtual sudo postmap /etc/postfix/virtual sudo touch /etc/postfix/vmailbox sudo chmod 600 /etc/postfix/vmailbox sudo postmap /etc/postfix/vmailbox for i in {1..99} do username="mailuser$i" password=$(openssl rand -base64 12) encrypted_password=$(doveadm pw -s SHA512-CRYPT -p $password) echo "$username@chinaskills.cn $username/" | sudo tee -a /etc/postfix/vmailbox echo "$username@chinaskills.cn $username" | sudo tee -a /etc/postfix/virtual sudo doveadm user -c /etc/dovecot/users "$username@chinaskills.cn" password "$password" done ``` 其中,`password` 应该替换为实际的密码。 4. 发送和接收邮件 使用以下命令发送和接收测试邮件: ``` echo "hello, mailuser2" | mail -s "just test mail from mailuser1" mailuser2@chinaskills.cn -aFrom:mailuser1@chinaskills.cn echo "hello, mailuser1" | mail -s "just test mail from mailuser2" mailuser1@chinaskills.cn -aFrom:mailuser2@chinaskills.cn sudo postconf -e 'virtual_alias_maps = hash:/etc/postfix/virtual,hash:/etc/postfix/all' echo "hello, test all" | mail -s "test all" all@chinaskills.cn -aFrom:mailuser1@chinaskills.cn ``` 其中,`From` 参数指定发件人。 5. 测试邮件发送与接收 使用 https://mail.chinaskills.cn 网站测试邮件发送与接收。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值