首页 > 其他分享 >大三寒假学习进度笔记21

大三寒假学习进度笔记21

时间:2024-01-30 22:11:38浏览次数:26  
标签:std 21 mm dd int 寒假 date 大三 cout

今天看到了一道蓝桥杯的题目,其中使用到了dfs算法,在之前的数据结构中学习过这种算法,但是并没有在代码中使用过,因此根据给出的思路在写了一遍这个题目。

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

int a[100],ans=0;
bool vis[20240000];
bool check(int date){
    if(vis[date]){
        return false;
    }
    vis[date]=1;
    int mm=date/100%100;
    int dd=date%100;
    if(mm<1||mm>12){
        return false;
    } 
    if(mm==1||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12){
        if(dd>=1&&dd<=31){
            return true;
        }
    }else if(mm==2){
        if(dd>=1&&dd<=28){
            return true;
        }
    }else if(1<=dd&&dd<=30){
        return true;
    }else{
        return false;
    }
}

void dfs(int x,int pos,int date){
    if(x==100) return;
    if(pos == 8){
        if(check(date)) ++ans;
        return;
    }
    if(
    (pos==0 && a[x]==2) ||
    (pos==1 && a[x]==0) ||
    (pos==2 && a[x]==2) ||
    (pos==3 && a[x]==3) ||
    (pos==4 && 0<=a[x] && a[x]<=1) ||
    (pos==5 && 0<=a[x] && a[x]<=9) ||
    (pos==6 && 0<=a[x] && a[x]<=3) ||
    (pos==7 && 0<=a[x] && a[x]<=9) 
    ){
        dfs(x+1,pos+1,date*10+a[x]);
    }
    dfs(x+1,pos,date);
}

int main(){
    ios::sync_with_stdio(0);cin.tie(0);
    for(int i=0;i<100;i++){
        cin>>a[i];
    }
    dfs(0,0,0);
    cout<<ans;
    return 0;
} 

其中还使用到了这个函数

ios::sync_with_stdio(0);cin.tie(0);

这个函数是一个“是否兼容stdio”的开关,C++为了兼容C,保证程序在使用了std::printfstd::cout的时候不发生混乱,将输出流绑到了一起。
cincout之所以效率低,是因为先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段语句可以来打消iostream的输入输出缓存,可以节省许多时间,使效率与scanf与printf相差无几.

标签:std,21,mm,dd,int,寒假,date,大三,cout
From: https://www.cnblogs.com/wrf1/p/17998099

相关文章

  • openGauss学习笔记-211 openGauss 数据库运维-高危操作一览表
    openGauss学习笔记-211openGauss数据库运维-高危操作一览表各项操作请严格遵守指导书操作,同时避免执行如下高危操作。211.1禁止操作表1中描述在产品的操作与维护阶段,进行日常操作时应注意的严禁操作。表1禁用操作操作名称操作风险严禁修改数据目录下文件名,权限,......
  • 寒假集训纪要
    1.28KMP算法匹配intj;j=0;for(inti=1;i<=la;++i){while(j&&b[j+1]!=a[i])j=next[j];if(b[j+1]==a[j])j++;if(j==lb){cout<<i-lb+1<<'\n';j=next[j];}}处理next数组j=0;for(inti=2;......
  • 寒假集训Day10
    前缀和https://www.luogu.com.cn/problem/P2280一维前缀和维护一个前缀和数组,使得每一个元素num[i]等于从a[1]到a[i]所有元素之和,一位前缀和非常好写。这个时候如果我们要求某一区间[l,r]中所有元素的和,只需要用num[r]-num[l-1]即可二维前缀和我们用num[i][j]表示从(1,1)到(......
  • 密码破解--Passware Kit Forensics2021
    这个密码工具真的是难找啊,之前也找到过些许的资源,但都不是破解版的,没有办法启用全部的功能,而且因为是国外的软件全英文对没有使用过密码破解软件的我非常不友好经过不懈的努力,终于找到了完整的资源!完整版的软件资源!链接:https://pan.baidu.com/s/1FaTMgY51-6cLhbuFcOZ3Vg提取......
  • 寒假生活指导22
    今天尝试使用hutool对自己的oss进行下载。<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.11</version></dependency>packages......
  • B2135 单词替换 (变式)
    点击查看代码#include<bits/stdc++.h>usingnamespacestd;chars[210],a[110],b[110];intla,lb,ls,nowtop,nowend=-1,nowoutput=1;intmain(){while(1){charnow_input;scanf("%c",&now_input);if(now_input==�......
  • 寒假学习15
    今天接着学习声音转换训练: 点击脚本可以查看转换进度: http://localhost:6006/在转换声音数据的时候显示错误 问了问gpt:还是无法解决。......
  • 大三寒假学习进度笔记20
    今日对LangChain进行了一些了解。LangChain是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大型语言模型(LLM)和聊天模型提供支持的应用程序的过程。LangChain可以轻松管理与语言模型的交互,将多个组件链接在一......
  • 【21.0】MySQL进阶知识之事务隔离机制
    【一】数据库读现象的本质是数据库在高并发场景下多个同时执行的事务带来的影响。【二】数据库三大读现象在数据库中,不同的事务隔离级别可能会导致脏读(DirtyRead)、不可重复读(Non-repeatableRead)和幻读(PhantomRead)等问题的出现。【1】脏读(1)概述事务1和事务2并发执行......
  • IR2104
    IR2104详解从NMOS到电机驱动关键词:NMOS、半桥、死区、自举升压目录基础知识NMOS半桥IR2104简介芯片参数引脚定义应用电路详解工作原理自举死区总结页面内跳转文件的纯文本引入:IR2104是我上手的第一个半桥栅极驱动芯片,使用两片IR2104就可以搭建一个......