首页 > 其他分享 >week2

week2

时间:2023-01-09 19:46:00浏览次数:62  
标签:10 cout int cin 蓝桥 && week2

蓝桥杯模拟赛 2
[蓝桥杯 2020 省 AB1] 解码 思路:当下几个字符组成数字n,输出n个当前字符,否则直接输出

string a,ans;
    cin>>a;
    for(int i=0;i<a.size();++i){
        if(i<a.size()-1&&a[i]>=65&&a[i+1]<65){
            int k=i+2;
            ll t=a[i+1]-'0';
            while(a[k]<65&&k<a.size()){
                t=t*10+(a[k]-'0');
                k++;
            }
            for(ll j=0;j<t;++j)ans+=a[i];
            i=k-1;
        }
        else{
            ans+=a[i];
        }
    }
    cout<<ans;

 

 
[蓝桥杯 2020 省 AB2] 成绩分析 思路:输入时判断最大最小和统计总分
int n,a[N],ma=-1,mi=101;
    ll s=0;
    cin>>n;
    for(int i=0;i<n;++i){
        cin>>a[i];
        if(a[i]>ma)ma=a[i];
        if(a[i]<mi)mi=a[i];
        s+=a[i];
    }
    cout<<ma<<'\n'<<mi<<'\n';
    cout<<fixed<<setprecision(2)<<double(s)/double(n);

 

  [蓝桥杯 2020 省 B1] 整除序列 思路:除到小于0就停止
ll n;
    cin>>n;
    cout<<n<<' ';
    for(ll i=n;i>0;){
        i>>=1;
        if(i>0)cout<<i<<' ';
    }

 

 
[蓝桥杯 2020 省 AB3] 日期识别 思路:注意前导0和后缀0
string a[12]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
    string b,x,y;
    cin>>b;
    x=b.substr(0,3);
    y=b.substr(3,2);
    for(int i=0;i<12;++i)
        if(x==a[i]){
            cout<<i+1<<' ';break;
        }
    if(y[0]!='0')cout<<y[0];
    cout<<y[1];

 

 
[蓝桥杯 2020 省 AB2] 回文日期 思路:判断年的反转是否为合法的月日,是否满足ababbaba
bool check_vaild(int n)
{
    int year = n / 10000 , month = n % 10000 / 100 , day = n % 100;
    if(month < 0 || month > 12)   return false;
    if(day < 0 || (day > days[month] && month != 2))    return false;
    int x = 0;
    if(month == 2)
        x = year % 4 == 0 && year % 100 || year % 400 == 0;
    if(day > days[month] + x)   return false;
    return true;
}
 
bool check_ABAB(int n)
{
    int a = n / 10000000 , b = n / 1000000 % 10 , c = n /100000 % 10 , d = n / 10000 % 10;
    if(a == c && b == d && a != b)  return true;
    return false;
}

int main()
{
    int n;
    cin>>n;

    int falg = 1;
    for(int i = n / 10000;i < 10000;i ++)
    {
        int x = i , t = i;
        for(int j = 0;j < 4;j ++)
            x = x*10 + t%10 , t /= 10;
        if(check_vaild(x) && x > n && falg)
        {
            printf("%d\n",x);
            falg = 0;
        }
        if(check_vaild(x) && check_ABAB(x) && x > n)
        {
            cout<<x;
            break;
        }
    }


    return 0;
}

 

 
[蓝桥杯 2020 省 B2] 平面切分 思路:每加一条不重合直线,s都会加一,若该线与已存的直线有一个交点则s++,且每个交点需不同,用set存即可
int main(){
    cin.tie(0),cout.tie(0);
    int n,s=1;
    double a,b;
    set<pair<double,double>>l;
    cin>>n;
    for(int i=0;i<n;++i){
        cin>>a>>b;
        if(l.count({a,b})==1)continue;
        if(l.size()>0) {
            set<pair<double,double> >p;
            pair<double,double> pp;
            for (auto t: l) {
                int c = t.first, d = t.second;
                if (a == c)continue;
                pp.first = (b - d) / (c - a), pp.second = a * pp.first + b;
                p.insert(pp);
                
            }
            s+=p.size();
        }
        l.insert({a,b});
        s++;
    }
    cout<<s;
    return 0;
}

 

  [蓝桥杯 2020 省 AB1] 走方格 思路:只能从格子的左和上走到该格,且边界都只有一条路,更新到每个格子的方案数
int main(){
    cin.tie(0),cout.tie(0);
    cin>>n>>m;
    for(int i=1;i<=n;++i)a[i][1]=1;
    for(int i=1;i<=m;++i)a[1][i]=1;
    for(int i=2;i<=n;++i)
        for(int j=2;j<=m;++j)
            if(i%2!=0||j%2!=0)a[i][j]=a[i-1][j]+a[i][j-1];
    cout<<a[n][m];
    return 0;
}

 

 
[蓝桥杯 2020 省 AB3] 乘法表 思路:将每个结果转化成p进制数,乘数大于等于10也需转化
int main(){
    cin.tie(0),cout.tie(0);
    int p;
    vector<int>a;
    cin>>p;
    for(int i=1;i<p;++i){
        for(int j=1;j<=i;++j){
            if(i>=10){
                cout<<char('A'+i-10)<<'*';
            }
            else cout<<i<<'*';
            if(j>=10)cout<<char('A'+j-10)<<'=';
            else cout<<j<<'=';
            a.clear();
            int t=i*j;
            while(t){
                a.push_back(t%p);
                t/=p;
            }
            for(int k=a.size()-1;k>=0;--k)
            if(a[k]>=10)cout<<char('A'+a[k]-10);
            else cout<<a[k];
            if(j!=i)cout<<' ';
        }
        cout<<'\n';
    }
    return 0;
}

 

 

标签:10,cout,int,cin,蓝桥,&&,week2
From: https://www.cnblogs.com/bible-/p/17038359.html

相关文章

  • 机器学习技法---(Week2)Dual Support Vector Machine
      上节课把原始的优化问题改写成二次规划的形式,通过软件包来求解参数。这节课通过研究原问题的对偶问题,在一定条件下,对偶问题的最优解和解参数和原问题一致,继而得到原问题......
  • profession computing --week2
    system:   硬件的进步;  硬件进步的过程带来了e-waste硬件技术的进步是关键 hardwareissue:    Computernetwork–agroupofcomputerstha......
  • week2
    一、实战1  自定义网络,利用自定义网络创建docker容器。 1)dockernetworkls  查看当前自定义网络 2) dockernetwork create  创建一个网络类型是br......
  • 考研记录Week26【11.14~11.20】
    一、本周总结:使用时间:总计14h21min,政治8h10min,英语6h11min.完成任务:英语:1.真题复习政治:1.肖秀荣8套卷完成7套卷二、下周规划:数学:1.【高数强化】高数辅导讲义+【线代强化......
  • ACM预备队-week2(二分)
    STO#y总#Or2二分:check函数+两模板;(前提是已经排好序才能二分)假设有一个总区间,经由我们的check函数判断后,可分成两部分,这边以o作true,.....作false示意较好识别如果我......
  • 计算机结构 week2
    记住单词:一些进制•Denary/Decimalorbaseten-tensymbols0,1,2,3,4,5,6,7,8,9•Binaryorbasetwo-twosymbols0,1•Hexadecimalorbase1......
  • 考研记录Week20【10.3~10.9】
    一、本周总结:使用时间:【后期专业课和数学都要多花时间了!!!】总计44h9min,高数11h23min,英语10h31min,操作系统6h53min,政治10h31min,数据结构与算法30min.完成任务:英语:1.2020~202......
  • week2
    title:week_2tags:nullcategories:nulldate:2022-08-0714:35:14week2运行脚本可以显示出本机的ip地址如果ip地址中有3这个数字,那么就打印出当前的系统时间......
  • 达内培训Week2 集合01 8.24
    集合018.24什么是集合:集合和数组类似,可以保存一组元素,并且提供了操作数组元素的方法,使用方便。Java集合框架接口Java.util.Collection接口:所有结合的接口,封装......
  • 达内培训Week2 8.23
    正则表达式regularexpressionregex8.23常见的正则表达方式:一、校验数字的表达式二、校验字符的表达式三、特殊需求表达式文件去看hsp的java文件packagecom.mly......