lanqiao OJ 118 机器人塔

简介: lanqiao OJ 118 机器人塔

1.机器人塔 - 蓝桥云课 (lanqiao.cn)

这是一个dfs的题,但是我们只排列最后一行,搜索最后一行的所有排列,最后一行的排列可以决定上一行的排列,最终得到第一行的排列 , 所以我们用一个init()函数,来让补充整一个三角形,但是我们要首先得到最后一行的长度,因为能排满整一个三角形,tmp = sqrt(1 + 8 * (a + b)) ;line = (tmp - 1) / 2 ;就能的出最后一行的长度,因为每一个点我们都可以填连个字符 ,一个是A , 一个B , 我们可以再Adfs退回来的时候进入Bdfs,这样就能得到所有的排列了 ,然后就是最后的检查,因为我们排出来的机器人阵型一定是对的,但是我们要判断的是我们用的机器人数量是不是和题目所给的是一样的,如果一样就返回值+1 ;

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std ;
int a ,b ;//机器人ab的数量
int cnt ; //最终可以拍成的阵型的数量
char mp[110][110] ;//我们的机器人阵型存储
int line , tmp ;//最后一行的长度
bool check(){//检查机器人数量是否和题目所给的一致
  int num_a = 0 , num_b = 0 ;
  for(int i = 1 ; i <= line ; i ++){
    for(int j = 1; j <= i ; j ++){
      if(mp[i][j] == 'A') num_a ++ ;
      else num_b ++ ;
    }
  }
  if(num_a == a && num_b == b) {
    return true ;
  }else return false ;
}
 
 
void init(){//已经排好了最后一行,根据最后一行排满整个阵型
  for(int i = line ;i >= 2 ; i -- ){
    for(int j = 1 ; j <= line ; j ++){
      if(mp[i][j] == mp[i][j+1]){
        mp[i-1][j] = 'A' ;
      }else {
        mp[i-1][j] = 'B' ;
      }
    }
  } 
}
void dfs(int n ){//搜索最后一排的所有排列
  if(n == line + 1){
    init() ;
    if(check()){
      cnt ++ ;
    }
    return ;
  }
  mp[line][n] = 'A' ;
  dfs(n+1) ;
  mp[line][n] = 'B' ;
  dfs(n+1) ;
}
 
 
int main(){
  ios::sync_with_stdio(false) ;
  cin.tie(0);
  cout.tie(0) ;
  cin >> a >> b ;
  tmp = sqrt(1 + 8 * (a + b)) ;//正三角形,求最后一行的长度
  line = (tmp - 1) / 2 ;
  dfs(1) ;
  cout << cnt << endl ;
  return 0 ; 
} 
目录
相关文章
|
12月前
|
机器人
lanqiao OJ 199 扫地机器人
lanqiao OJ 199 扫地机器人
57 0
|
20天前
|
数据采集 自动驾驶 机器人
数据喂得好,机器人才能学得快:大数据对智能机器人训练的真正影响
数据喂得好,机器人才能学得快:大数据对智能机器人训练的真正影响
74 1
|
7月前
|
人工智能 自然语言处理 机器人
9.9K star!大模型原生即时通信机器人平台,这个开源项目让AI对话更智能!
"😎高稳定、🧩支持插件、🦄多模态 - 大模型原生即时通信机器人平台"
206 0
|
5月前
|
弹性计算 自然语言处理 Ubuntu
从0开始在阿里云上搭建基于通义千问的钉钉智能问答机器人
本文描述在阿里云上从0开始构建一个LLM智能问答钉钉机器人。LLM直接调用了阿里云百炼平台提供的调用服务。
从0开始在阿里云上搭建基于通义千问的钉钉智能问答机器人
|
4月前
|
机器人
陌陌自动回复消息脚本,陌陌自动打招呼回复机器人插件,自动聊天智能版
这是一款为陌陌用户设计的自动回复软件,旨在解决用户无法及时回复消息的问题,提高成交率和有效粉丝数。软件通过自动化操作实现消息检测与回复功能
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
TsingtaoAI具身智能机器人开发套件及实训方案
该产品套件创新性地融合了先进大模型技术、深度相机与多轴协作机械臂技术,构建了一个功能强大、灵活易用的人机协作解决方案。其核心在于将智能决策、精准感知与高效执行完美结合,为高校实训领域的发展注入新动力。
417 10
|
9月前
|
人工智能 机器人 API
AppFlow:无代码部署Dify作为钉钉智能机器人
本文介绍如何通过计算巢AppFlow完成Dify的无代码部署,并将其配置到钉钉中作为智能机器人使用。首先,在钉钉开放平台创建应用,获取Client ID和Client Secret。接着,创建消息卡片模板并授予应用发送权限。然后,使用AppFlow模板创建连接流,配置Dify鉴权凭证及钉钉连接凭证,完成连接流的发布。最后,在钉钉应用中配置机器人,发布应用版本,实现与Dify应用的对话功能。
1825 7
AppFlow:无代码部署Dify作为钉钉智能机器人
|
6月前
|
人工智能 自然语言处理 安全
Deepseek 的 “灵魂”,宇树的 “躯体”,智能机器人还缺一个 “万万不能”
法思诺创新探讨智能机器人产业的发展,指出Deepseek的AI“灵魂”与宇树的机器人“躯体”虽技术先进,但缺乏关键的商业模式。文章分析了两者在硬件和软件领域的困境,并提出通过软硬一体化结合及明确商业模式,才能实现真正实用的智能机器人。未来,需聚焦高频刚需场景、优化付费体验、推动技术创新,让智能机器人走进千家万户。法思诺提供相关课程与咨询服务,助力行业突破。
141 0
|
6月前
|
传感器 机器学习/深度学习 人工智能
自己都站不稳,怎么护理人?智能机器人的自主平衡问题,用TRIZ和DeepSeek有解吗?
法思诺创新探讨机器人自主平衡难题,结合TRIZ创新理论与DeepSeek大模型,为仿人机器人动态平衡提供解决方案。文章分析了机器人平衡差的原因,包括复杂环境、传感器限制、算法难度和机械设计挑战等,并提出通过TRIZ原理(如矛盾识别、理想解)与DeepSeek的AI能力(如数据学习、强化学习)协同优化平衡性能。展望未来,2024-2028年将实现从实验室验证到家用场景落地,推动消费级人形机器人发展。
234 0
|
8月前
|
人工智能 自然语言处理 算法
基于DeepSeek的具身智能高校实训解决方案——从DeepSeek+机器人到通用具身智能
本实训方案围绕「多模态输入 -> 感知与理解 -> 行动执行 -> 反馈学习」的闭环过程展开。通过多模态数据的融合(包括听觉、视觉、触觉等),并结合DeepSeek模型和深度学习算法,方案实现了对自然语言指令的理解、物体识别和抓取、路径规划以及任务执行的完整流程。
1068 12

热门文章

最新文章