精华内容
下载资源
问答
  • 贪心+思维 看到题目我竟然去写了个超级麻烦的枚举。...假设奇数位组成的字符串为a,偶数位组成的字符串位b,那么最简单的方法就是把a的尾接b的头或者把a的头接b的尾,让两个位数相差最多的字母接一起...

    贪心+思维

    看到题目我竟然去写了个超级麻烦的枚举。。

    其实我们可以先从最勉强的情况考虑,就是没一个字母与相邻的字母只要相差2就行了。

    这启示我们把奇数位和偶数位的字母分开,在奇数位的字母和在偶数位的字母一定是合法的两个字符串,然后我们考虑一下怎样合并。

    假设奇数位组成的字符串为a,偶数位组成的字符串位b,那么最简单的方法就是把a的尾接在b的头或者把a的头接在b的尾,让两个位数相差最多的字母接在一起。

    事实上,这也是最理想的答案了,如果这样都不行,那么肯定就是No answer。

    #include <bits/stdc++.h>
    #define INF 0x3f3f3f3f
    #define full(a, b) memset(a, b, sizeof a)
    using namespace std;
    typedef long long ll;
    inline int lowbit(int x){ return x & (-x); }
    inline int read(){
        int X = 0, w = 0; char ch = 0;
        while(!isdigit(ch)) { w |= ch == '-'; ch = getchar(); }
        while(isdigit(ch)) X = (X << 3) + (X << 1) + (ch ^ 48), ch = getchar();
        return w ? -X : X;
    }
    inline int gcd(int a, int b){ return a % b ? gcd(b, a % b) : b; }
    inline int lcm(int a, int b){ return a / gcd(a, b) * b; }
    template<typename T>
    inline T max(T x, T y, T z){ return max(max(x, y), z); }
    template<typename T>
    inline T min(T x, T y, T z){ return min(min(x, y), z); }
    template<typename A, typename B, typename C>
    inline A fpow(A x, B p, C lyd){
        A ans = 1;
        for(; p; p >>= 1, x = 1LL * x * x % lyd)if(p & 1)ans = 1LL * x * ans % lyd;
        return ans;
    }
    
    int main(){
    
        int _ = read();
        for(; _; _ --){
            string s, o, e; cin >> s;
            for(int i = 0; i < s.size(); i ++){
                (s[i] - 'a' + 1) % 2 ? o.push_back(s[i]) : e.push_back(s[i]);
            }
            bool flag = false;
            sort(o.begin(), o.end()), sort(e.begin(), e.end());
            if(!o.empty() && !e.empty() && abs(e.back() - o.front()) != 1){
                cout << e + o << endl;
                flag = true;
            }
            else if(!o.empty() && !e.empty() && abs(o.back() - e.front()) != 1){
                cout << o + e << endl;
                flag = true;
            }
            else if(o.empty() || e.empty()){
                cout << s << endl;
                flag = true;
            }
            if(!flag) cout << "No answer" << endl;
        }
        return 0;
    }

    转载于:https://www.cnblogs.com/onionQAQ/p/10809673.html

    展开全文
  • 当客户端发送的一个请求网络的某个地方停滞的时候,服务器端并不会感知到,延迟到一定时间就会发生超时现象,客户端通常会断开连接。而这时候停滞在途中的某个请求,又发送服务器了࿰...
  • 一行代码得到所有div标签下的p元素。第二行代码得到class 为container的div元素,第三行代码得到标签下面id为msg的div元素(不过最好别这样写,因为jQuery需要遍历所有的div元素,对于带id的元素,直接用$("#id"))。...
  • 只有一行初始化中间件就做完啦? <p><img alt="" src="http://odssgnnpf.bkt.clouddn.com/timg2.jpeg" /></p> <p><strong>我知道koa很屌,但也别这么屌好不好,所以说评价一好的程序员不是由...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0201 让两个文本框中的内容同时改变 134 0202 格式化DataGrid表格中的数据 134 0203 控制文本框只能录入数字 135 0204 如何DataGrid中嵌入LookupComboBox 135 0205 DBGrid中设置不滚动的列 136 0206 ...
  • 0201 让两个文本框中的内容同时改变 134 0202 格式化DataGrid表格中的数据 134 0203 控制文本框只能录入数字 135 0204 如何DataGrid中嵌入LookupComboBox 135 0205 DBGrid中设置不滚动的列 136 0206 ...
  • 0201 让两个文本框中的内容同时改变 134 0202 格式化DataGrid表格中的数据 134 0203 控制文本框只能录入数字 135 0204 如何DataGrid中嵌入LookupComboBox 135 0205 DBGrid中设置不滚动的列 136 0206 ...
  • 0201 让两个文本框中的内容同时改变 134 0202 格式化DataGrid表格中的数据 134 0203 控制文本框只能录入数字 135 0204 如何DataGrid中嵌入LookupComboBox 135 0205 DBGrid中设置不滚动的列 136 0206 ...
  • 0201 让两个文本框中的内容同时改变 134 0202 格式化DataGrid表格中的数据 134 0203 控制文本框只能录入数字 135 0204 如何DataGrid中嵌入LookupComboBox 135 0205 DBGrid中设置不滚动的列 136 0206 ...
  • 0201 让两个文本框中的内容同时改变 134 0202 格式化DataGrid表格中的数据 134 0203 控制文本框只能录入数字 135 0204 如何DataGrid中嵌入LookupComboBox 135 0205 DBGrid中设置不滚动的列 136 0206 ...
  • partition split

    2020-12-09 01:06:14
    那么即使一个mutation要执行次,貌似也不会有影响?因为我们可以apply这条mutation的时候判断这split还有没有必要做。 </li></ol> 而且由于一致性协议的保证,这条mutation即便进行了重放&#...
  • 深入浅出 Koa 原理

    2021-01-08 14:41:42
    两个关键词 - generator - promise 本文主要针对koa的原理进行讨论,属于深度篇,并不会对koa的使用过多介绍。 如果阅读过程中,发现有哪些地方我写的不太清楚,不容易理解,希望...
  • 目的是把一个复杂的东西排除掉干扰学习的因素后剩下的核心原理通过很简单的描述来读者学习到知识。 关于vue的内部原理其实有很多重要的部分,变化侦测,模板编译,virtualDOM,整体运行...
  • 深入浅出 Koa2 原理

    2021-01-08 14:31:50
    koa内部主要有两个知识点,context(上下文)和middleware(中间件)两个部分 所以总体来看,改动不算太大,我先把改动分个类 - 使用 - 中间件 - 源码 - 语法 - ...
  • //reducer 接受两个参数,全局数据对象 state 以及 action 函数返回的 action 对象 //返回新的全局数据对象 new state export default (state, action) => { switch (action.type) { case A: return...
  • 比如,两个相同行业不同地区的人使用同个DTD文件来作为文档创建规范,那么他们的数据就很容易交换和共享。网上有其他人想补充数据,也只需要根据公用的DTD规范来建立文档,就立刻可以加入。 目前,已经有数量众多...
  • Koa之中间件执行解析

    2020-12-26 05:12:46
    我们添加了两个中间件,先不着急知道代码的输出结果,当你第次看到这段代码的时候,会不会有疑问? <ul><li>next 是个什么鬼,不传会怎么样</li><li>yield next 是做了什么操作...
  • <div>本文将从以下几角度来聊聊面试这件事情 <p><img alt="前端面试从准备到谈薪指南" src="https://img-blog.csdnimg.cn/img_convert/b2ba3fa815d1a73a69f1c63efb960d15.png" /></p> 面试题篇 面试题只能应对 1 -...
  • 大约斤面 大约六水左右 20 00:00:47,840 --> 00:00:50,520 就用凉水和就了 和的要软 21 00:00:50,520 --> 00:00:52,640 多软啊 有的说拿不起个儿来 22 00:00:52,640 --> 00:00:54,880 其实不是 它...
  • 它由两个页面组成 pageA 和 pageB <pre><code>javascript // src/pageA.js import componentA from './common/componentA'; // 使用到 jquery 第三方库,需要抽离,避免业务打包文件过大 ...
  • <div><p><strong>视频链接</strong>:https://youtu.be/QoluxOcb2lA</p> <p><备注内容,如视频时长、发布日期等等(如果无需备注,请删除此行)> 请翻译以下全部内容 <pre>...
  • <p><strong>concat方法用于连接两个或者多个数组。 </li><li> <p>push(newElement1, ... newElementN) <p><strong>push方法可向数组的末尾添加个或者多个元素。 </li><li> <p>unshift(newElement1, ... ...
  • A) 在一个类的声明里声明的类,也叫做内部类或嵌套类,内部类可以作为外包类的一成员使用,可以访问外包类的所有成员,包括私有成员。 B) 内部类的访问权限可以被定义为public、protected、private和default。但是...
  • <div><h2>3月份前端资源分享 <h4>1. Javascript <ul><li>使用judge.js做信息判断</a></li><li><a href="https://segmentfault.com/a/1190000004430888">javascript----事件概述</a></li><li><a href=...

空空如也

空空如也

1 2
收藏数 27
精华内容 10
关键字:

怎样让两个div在一行