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 ; 
} 
目录
相关文章
|
2天前
|
机器人
lanqiao OJ 199 扫地机器人
lanqiao OJ 199 扫地机器人
6 0
|
5月前
|
传感器 人工智能 监控
智能耕耘机器人
智能耕耘机器人
113 3
|
1天前
|
人工智能 搜索推荐 机器人
挑战未来职场:亲手打造你的AI面试官——基于Agents的模拟面试机器人究竟有多智能?
【10月更文挑战第7天】基于Agent技术,本项目构建了一个AI模拟面试机器人,旨在帮助求职者提升面试表现。通过Python、LangChain和Hugging Face的transformers库,实现了自动提问、即时反馈等功能,提供灵活、个性化的模拟面试体验。相比传统方法,AI模拟面试机器人不受时间和地点限制,能够实时提供反馈,帮助求职者更好地准备面试。
7 2
|
2月前
|
人工智能 算法 机器人
机器人版的斯坦福小镇来了,专为具身智能研究打造
【8月更文挑战第12天】《GRUtopia:城市级具身智能仿真平台》新论文发布,介绍了一款由上海AI实验室主导的大规模3D城市模拟环境——GRUtopia。此平台包含十万级互动场景与大型语言模型驱动的NPC系统,旨在解决具身智能研究中的数据稀缺问题并提供全面的评估工具,为机器人技术的进步搭建重要桥梁。https://arxiv.org/pdf/2407.10943
196 60
|
5月前
|
自然语言处理 机器人 Go
【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手
【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手
318 0
|
2月前
|
机器人 C# 人工智能
智能升级:WPF与人工智能的跨界合作——手把手教你集成聊天机器人,打造互动新体验与个性化服务
【8月更文挑战第31天】聊天机器人已成为现代应用的重要组成部分,提供即时响应、个性化服务及全天候支持。随着AI技术的发展,聊天机器人的功能日益强大,不仅能进行简单问答,还能实现复杂对话管理和情感分析。本文通过具体案例分析,展示了如何在WPF应用中集成聊天机器人,并通过示例代码详细说明其实现过程。使用Microsoft的Bot Framework可以轻松创建并配置聊天机器人,增强应用互动性和用户体验。首先,需在Bot Framework门户中创建机器人项目并编写逻辑。然后,在WPF应用中添加聊天界面,实现与机器人的交互。
55 0
|
2月前
|
机器人 TensorFlow 算法框架/工具
智能聊天机器人
【8月更文挑战第1天】智能聊天机器人。
81 2
|
2月前
|
人工智能 自然语言处理 安全
盘点国内:AI写作助手_ai智能问答机器人
AI写作助手是利用人工智能技术,特别是自然语言处理(NLP)技术,来辅助用户进行写作的工具。这类助手通过分析大量文本数据,能够理解语言的结构和含义,从而生成、编辑或优化文本内容。AI写作助手通常具有自动纠错、语法检查、内容生成和风格调整等功能,帮助用户提高写作效率和质量。
|
2月前
|
自然语言处理 监控 搜索推荐
使用 LangChain 创建高度互动和智能的聊天机器人
【8月更文第3天】随着自然语言处理(NLP)技术的进步,聊天机器人已成为企业和用户之间互动的重要渠道。LangChain 是一个强大的框架,旨在简化构建复杂语言模型应用程序的过程。本文将详细介绍如何使用 LangChain 框架创建高度互动和智能的聊天机器人,包括选择合适的语言模型、设计对话流程、上下文管理以及集成外部API和服务等内容。
128 0

热门文章

最新文章