蓝桥杯省赛无忧 第二章 基础算法 课件22 模拟

在这里插入图片描述

01 模拟算法介绍

在这里插入图片描述

02 例题讲解

在这里插入图片描述

https://www.lanqiao.cn/problems/549/learning/?page=1&first_category_id=1&problem_id=549
#include <iostream>
using namespace std;
int main()
{
   
  int n,m;
  cin>>n>>m;
  int a[n][m];
  int c[n][m];
  for(int i=0;i<n;i++)
  {
   
      for(int j=0;j<m;j++)
      {
   
          c[i][j]=0;
          cin>>a[i][j];
      }
  }
   for(int i=0;i<n;i++)
  {
   
      for(int j=0;j<m;j++)
      {
   
      if(a[i][j]==1)
          {
   
              c[i][j]=9;
              for(int b=i-1;b<=i+1;b++)
              {
   
                  for(int d=j-1;d<=j+1;d++)
                  {
   
                      if(a[b][d]==0&&b>=0&&d>=0)
                      {
   
                          c[b][d]++;
                      }
                  }
              }
          }
    }
}    
    for(int i=0;i<n;i++)
  {
   
      for(int j=0;j<m;j++)
      {
   
          cout<<c[i][j]<<" ";
      }
      cout<<"\n";
  }
  return 0;
}

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

https://www.lanqiao.cn/problems/551/learning/?page=1&first_category_id=1&problem_id=549
#include <iostream>
using namespace std;
const int N=110;
int a[N][N];
void water(int x,int y)
{
   
  a[x][y]=1;
  if(!a[x-1][y]) a[x-1][y]=1;
  if(!a[x+1][y]) a[x+1][y]=1;
  if(!a[x][y-1]) a[x][y-1]=1;
  if(!a[x][y+1]) a[x][y+1]=1;
}
int main()
{
   
   int n,m,t,k;
   cin>>n>>m;
   cin>>t;
   while(t--)   //第一分钟浇水完成
   {
   
     int x,y;
     cin>>x>>y;
     water(x,y);
   }
     cin>>k;
     int g=k-1;
       if(k>1)    //一分钟后开始传染
      {
   
        while(g--)
        {
   
          for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
            {
   
                 if(a[i][j]==1)
                 {
   
                   water(i,j);
                 }
            }
        }
      }
      int res=0;
      for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
            {
   
                 if(a[i][j]==1)
                 {
   
                  res++;
                 }
            }
            cout<<res;
  return 0;
}

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

https://www.lanqiao.cn/problems/498/learning/?page=1&first_category_id=1&problem_id=498
#include<stdio.h>
int f(int n, int m) //判断n逆序是否为n
{
   
    int x = 0;
    while(n) // 将n逆序赋值为x
    {
   
        x = x * 10 + n % 10;
        n /= 10;
    }
    if(x == m) return 1;
    else return 0;
}
int main(void)
{
   
    int n, i, ans[20000], t = 0;
    scanf("%d", &n);
    for (i = n+1; i < 99000000; i++)
    {
   
        if ((i%10000/100 > 12) || (i%10000/100 == 0) || i%10000%100 > 31) continue; //判断月和日是否合法,不合法直接跳出当前循环
        if ( f(i/10000, i%10000) ) ans[++t] = i; 
        if (t == 1000) break; //t尽量设置大一些,保证在这个范围里会出现ababbaba型的回文日期
    }
    printf("%d\n", ans[1]); //输出日期之后下一个回文日期
    for (i = 1; i <= t; i++)
    {
   
        if(ans[i]/10000%100 == ans[i]/10000/100) //判断开头是否为ABAB型
        {
   
            printf("%d\n", ans[i]);
            break; //找到一个即可退出循环
        }
    }
    return 0;
}

在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-17 21:40:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-17 21:40:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-17 21:40:04       82 阅读
  4. Python语言-面向对象

    2024-01-17 21:40:04       91 阅读

热门阅读

  1. webassembly003 whisper.cpp的项目结构CMakeLists.txt

    2024-01-17 21:40:04       49 阅读
  2. 初来乍到!做一个个人介绍!

    2024-01-17 21:40:04       53 阅读
  3. SpringMVC controller方法返回值见解3

    2024-01-17 21:40:04       49 阅读
  4. Docker-Dockerfile

    2024-01-17 21:40:04       49 阅读
  5. docker 学习命令整理

    2024-01-17 21:40:04       52 阅读
  6. 设计模式-原型模式

    2024-01-17 21:40:04       58 阅读
  7. ACM模式与核心代码模式

    2024-01-17 21:40:04       52 阅读
  8. 第一章 熟悉Objective-C

    2024-01-17 21:40:04       39 阅读