一道笔试题

#include <vector>#include <string>using namespace std;

bool helper(int row, const vector<string> &m, string s)
{
    if (s.empty()) {
        return true;
    }

    for (int i = 0; i < m[row].size(); i ++) {
        if (s[0] == m[row][i] && helper(i, m, s.substr(1, s.size())))
            return true;
    }
    return false;
}

int main()
{
    vector<string> m;
    m.push_back("*FF");
    m.push_back("F*F");
    m.push_back("EF*");

    string s("EFE");

    bool t = false;
    for (int r = 0; r < m.size(); r ++) {
        if (m[r][0] == s[0] && helper(r, m, s.substr(1, s.size())))
                t = true;
    }
    cout << (t ? "true" : "false") << endl;
    return 0;
}
时间: 2024-10-13 00:15:37

一道笔试题的相关文章

Java中有关构造函数的一道笔试题解析

Java中有关构造函数的一道笔试题解析 1.具体题目如下 下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 2.解析说明 (1)class中的构造函数是可以省略的 /** * @Title:User.java * @Package:com.you.user.model * @Descrip

0810------笔试题----------腾讯2012年的一道笔试题

1.题目要求 a)b[i] = a[0] *a[1] *a[2]*….a[n-1]/ a[i],求出数组b: b)要求不能用除法,除循环控制变量以外,不许额外申请其余变量,时间复杂度为O(n),空间复杂度为O(1). 2.程序思路 a)假设 N = 5,那么 b[0] =      a[1]*a[2]*a[3]*a[4];            b[1] = a[0]*     a[2]*a[3]*a[4];            b[2] = a[0]*a[1]*     a[3]*a[4];

关于阿里的一道笔试题分析

其题目如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #pragma pack(2) class A { public:     int i;     union U     {         char buff[13];         int i;     }u;     void foo() {    }     typedef char* (*f)(void*);     enum{red, green, blue} color; }a; class A

好玩的一道笔试题

/*实现函数: void f(int a, int b, int c) 编码中不允许出现燃和if,switch,for,while之类的关键词以及"?:"表达式,并要求: a=1时,打印b+c的值: a=2时,打印b-c的值: a=3时,打印b*c的值: a=4时,打印b/c的值. */ 下面是我的解答,哈哈: #include <iostream> int cal(int a,int b, int c){ int res = 0; (!(a^1) && (

送上今年微软的一道笔试题

这里送上一道微软的笔试题,具体题目如下: Time Limit: 10000msCase Time Limit: 1000msMemory Limit: 256MB Description Consider a string set that each of them consists of {0, 1} only. All strings in the set have the same number of 0s and 1s. Write a program to find and outp

给定一个数值,输出符合中国人习惯的读法--记一道笔试题

题目:给定一个数字,最大小于一万亿,输出符合中国人习惯的读法,例如: a.12输出:十二 b.102输出:一百零二 c.1002输出:一千零二 d.112输出:一百十二 e.10112输出:一万零一百十二 f.120000000:一亿二千万 g.11021002:一千一百零二万一千零二 h.11020102:一千一百零二万零一百零二 i.1000001:一百万零一 j.1000000001:十亿零一 嗯,一道笔试题,解的很没有节操,没有太好的思路,只能尽力抽取翻译过程中的共有代码,尽量写的不那么

一道笔试题来理顺Java中的值传递和引用传递

前段时间参加了一场面试,其中有一道引用传递的题,因为当时并没有考虑清楚所以做错了. 现在来复盘一下,题目如下: private static void change(StringBuffer str11, StringBuffer str12) { str12 = str11; str11 = new StringBuffer("new world"); str12.append("new world");} public static void main(Stri

js原型链的一些发现----来自一道笔试题

1.开篇 1.1本文目标 这是我真正意义上的博客,一是想记录下自己学到的东西,二是想写博客也是对自己的一种历练,自己的一次新的尝试. 废话不多说,说下这次写这篇东东的原因.js的原型链是让我很头疼的事情,每次碰到一些相关的题目和代码都让我有点不知所措.最近的一次笔试碰到了一道相关的题目,不出所料,没有答出来.回来对此钻研一通,不断地查资料测试代码,终于有了点收获,正好最近开始玩博客,所以写了这篇记录. PS:我基础并不好,所以这篇文章可能不会是那种大牛级的专业博客.如果有幸让大神们看到这篇文章,

C++构造、析构、继承、多态--一道笔试题都考到了

#include <stdio.h> class A { A() { printf("A constrution.\n"); } ~A() { printf("A deconstrution.\n"); } void funA(); virtual void funB(); }; void A::funA() { printf("A::funA ...\n"); } void A::funB() { printf("A::f

网易的一道笔试题的参考解法---关于广告牌投放问题

有N个广告牌(N<=10万)可以投放广告,有k个用户(k<10亿)在这些广告牌上投放广告.操作rent(i,j,k)将从i到j块广告牌展示用户k的广告,如果原来有别的广告就覆盖掉. 操作query(i)返回第i个广告牌上现在投放的是哪个广告. rent和query操作出现的频率相等.要求设计一个数据结构和相应的算法,尽可能快的实现这两种操作. 1 package test; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 pu