1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4. typedef long long LL;
  5. int main()
  6. {
  7. char a[];
  8. scanf("%s",a);
  9. LL s1=,sum=,len=strlen(a);
  10. if(a[]=='Q') s1++;
  11. for(int i=;i<len;i++)
  12. {
  13. if(a[i]=='Q'){s1++;}
  14. if(a[i]=='A'&&s1!=)
  15. {
  16. LL s2=,s=s1;
  17. if(a[i-]=='Q') s--;// 小心越界
  18. for(int j=i+;j<strlen(a);j++)
  19. if(a[j]=='Q') s2++;
  20. sum+=s*s2;
  21. }
  22. }
  23. cout<<sum<<endl;
  24. }
  1. // 超时代码
    #include<iostream>
  2. #include<string>
  3. using namespace std;
  4. int count=;
  5. void bfs(string s,int i,int flag)
  6. {
  7. if(i>=(int)s.length()) return ;
  8. if(flag==)
  9. {
  10. if(s[i]=='Q')
  11. {
  12. bfs(s,i+,flag+);
  13. }
  14. else bfs(s,i+,flag);
  15. }
  16. if(flag==)
  17. {
  18. if(s[i]=='A')
  19. {
  20. bfs(s,i+,flag+);
  21. }
  22. bfs(s,i+,flag);
  23. }
  24. if(flag==)
  25. {
  26. if(s[i]=='Q')
  27. {
  28. count++;
  29. }
  30. bfs(s,i+,flag);
  31. }
  32. }
  33. int main()
  34. {
  35. string s;
  36. cin>>s;
  37. for(int i=;i<s.length()-;i++)
  38. bfs(s,i,);
  39. cout<<count<<endl;
  40. }

相比两个方法  第一个少了回溯次;

B题:

  1. #include <iostream>
  2. using namespace std;
  3. #define N 'W'+ 'W' + '#'
  4. #define FOR(i,l,r) for(int i = l;i < r;i++)
  5. char a[][];
  6. int judge()
  7. {
  8. if(a[][] + a[][] + a[][] == N || a[][] + a[][] + a[][] == N)return ;
  9. FOR(i,,)
  10. if(a[i][]+a[i][]+a[i][]==N || a[][i]+a[][i]+a[][i] == N)return ;
  11. return ;
  12. }
  13. int main()
  14. {
  15. int T;
  16. scanf("%d",&T);
  17. while(T--)
  18. {
  19. int flag = ;
  20. FOR(i,,)scanf("%s",a[i]);
  21. if(!judge())
  22. {
  23. FOR(i,,)FOR(j,,)
  24. if(a[i][j] == 'W')
  25. {
  26. a[i][j]='#';
  27. if(judge())flag = ;
  28. a[i][j]='W';
  29. }
  30. flag?puts("Emmm"):puts("Alice");
  31. }
  32. else puts("Bob");
  33. }
  34. return ;
  35. }

代码精炼。正常要写100+;

牛客 19-5-3 QAQ的更多相关文章

  1. 算法题 19 二叉平衡树检查 牛客网 CC150

    算法题 19 二叉平衡树检查 牛客网 CC150 实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1. 给定指向树根结点的指针TreeNode* ro ...

  2. 牛客小白月赛19 E 「火」烈火燎原 (思维,树)

    牛客小白月赛19 E 「火」烈火燎原 (思维,树) 链接:https://ac.nowcoder.com/acm/contest/2272/E来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空 ...

  3. 【面试笔试算法】牛客网一站通Offer编程题2016.4.19

    牛客网一站通offer (一)字符串变形 1. 题目: 对于一个给定的字符串,我们需要在线性(也就是O(n))的时间里对它做一些变形.首先这个字符串中包含着一些空格,就像"Hello Wor ...

  4. 牛客~~wannafly挑战赛19~A 队列

    链接:https://www.nowcoder.com/acm/contest/131/A来源:牛客网 题目描述 ZZT 创造了一个队列 Q.这个队列包含了 N 个元素,队列中的第 i 个元素用 Qi ...

  5. 牛客网挑战赛19 B,C,F

    链接:https://www.nowcoder.com/acm/contest/131/B来源:牛客网 矩阵 M 包含 R 行 C 列,第 i 行第 j 列的值为 Mi,j. 请寻找一个子矩阵,使得这 ...

  6. 牛客网 --java问答题

    http://www.nowcoder.com/ 主要是自己什么都不怎么会.在这里可以学习很多的! 第一天看题自己回答,第二天看牛客网的答案! 1 什么是Java虚拟机?为什么Java被称作是“平台无 ...

  7. 牛客小白月赛13 小A的回文串(Manacher)

    链接:https://ac.nowcoder.com/acm/contest/549/B来源:牛客网 题目描述 小A非常喜欢回文串,当然我们都知道回文串这种情况是非常特殊的.所以小A只想知道给定的一个 ...

  8. 牛客小白月赛13 小A的最短路(lca+RMQ)

    链接:https://ac.nowcoder.com/acm/contest/549/F来源:牛客网 题目描述 小A这次来到一个景区去旅游,景区里面有N个景点,景点之间有N-1条路径.小A从当前的一个 ...

  9. 牛客练习赛43 Tachibana Kanade Loves Game (简单容斥)

    链接:https://ac.nowcoder.com/acm/contest/548/F来源:牛客网 题目描述 立华奏是一个天天打比赛的萌新. 省选将至,萌新立华奏深知自己没有希望进入省队,因此开始颓 ...

  10. 牛客练习赛31 D 神器大师泰兹瑞与威穆 STL,模拟 A

    牛客练习赛31 D 神器大师泰兹瑞与威穆 https://ac.nowcoder.com/acm/contest/218/D 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 26214 ...

随机推荐

  1. Select2的远程数据操作

    一.概述 如果下拉列表框中的内容太多,最好是使用Select2的远程数据进行筛选. 二.参考文献 https://select2.github.io/examples.html#data-ajax h ...

  2. 在Powershell中使用Group-Object和-GroupBy

    使用Group-Object(group)按组统计 PS C:\> Get-Command -Module Microsoft.PowerShell.LocalAccounts | group ...

  3. JAVA高级语法

    高级语法 第三章:面向对象和高级语法 实例化: 不实例化,就是一个空指针 注意,声明和实例化是两个过程.声明的过程是不分配内存空间的,只有实例化才会真正分配空间 对变量的分类 实例变量只有实例化之后才 ...

  4. python多线程之_thread

    多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进 ...

  5. 003-centos7:rsyslog简单配置客户端和服务器端

    实现把一个主机作为客户端,把日志发送到指定的服务器端: [服务器端] 开放tcp端口,udp端口: vim /etc/rsyslog.conf: # Provides UDP syslog recep ...

  6. 【hdu 6071】Lazy Running

    菜鸡永远都在做着变聚的梦. 题意 有 \(4\) 个点连成一个环,连接顺序依次为 \(1-2-3-4-1\).相邻两个点之间有个距离 \(d_{i,i+1}\)(特别地,当 \(i=4\) 时为 \( ...

  7. 第09课:【实战】Redis网络通信模块源码分析(2)

    侦听 fd 与客户端 fd 是如何挂载到 EPFD 上去的 同样的方式,要把一个 fd 挂载到 EPFD 上去,需要调用系统 API epoll_ctl ,搜索一下这个函数名.在文件 ae_epoll ...

  8. VMware Tools按钮变灰色,无法安装的解决方法

    参考博客: https://blog.csdn.net/weixin_30639719/article/details/94846851 https://jingyan.baidu.com/artic ...

  9. HTML5日期时间输入类型注意事项(time,date)

    原文链接:http://www.webhek.com/post/html5-date.html 1.HTML5规范里只规定date新型input输入类型,并没有规定日历弹出框的实现和样式.所以,各浏览 ...

  10. 【Linux学习四】Linux下Vim命令操作

    1.Vim介绍 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性. 第一阶段通过vimtutor的学习,加强vim的熟练度 1.1光标移动 hjkl左 ...