无敌皮皮樊 2019-06-10 17:38
浏览 235

摩斯电码字典 计算第k个答案

转自Italink
大佬的代码很不错 ,我就是不懂find这个函数在干嘛
#include
#include
using namespace std;
void search(int n,int m,string key) {
if (n)
search(n - 1, m, key + "-");
if (m)
search(n, m - 1, key + "o");
if (n == 0 && m == 0)
cout << key << endl;
}
void find(int n,int begin, string key) {
if (n == 0)
cout << key << endl;
for (int i = begin; i < key.size(); i++) {
if (key[i] == 'o') {
key[i] = '-';
find(n - 1, i + 1, key);
key[i] = 'o';
}
}
}
int main(){
int n = 2, m = 2;
search(2, 2, ""); //元素搜索
cout << "--------------------" << endl;
find(2, 0, string(n + m, 'o')); //位置搜索
return 0;
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?