牛客 19-5-3 QAQ

#include<iostream>
#include<cstring>
using namespace std;
typedef long long LL;
int main()
{
char a[];
scanf("%s",a);
LL s1=,sum=,len=strlen(a);
if(a[]=='Q') s1++;
for(int i=;i<len;i++)
{
if(a[i]=='Q'){s1++;}
if(a[i]=='A'&&s1!=)
{
LL s2=,s=s1;
if(a[i-]=='Q') s--;// 小心越界
for(int j=i+;j<strlen(a);j++)
if(a[j]=='Q') s2++;
sum+=s*s2;
}
}
cout<<sum<<endl;
}
// 超时代码
#include<iostream>
#include<string>
using namespace std;
int count=;
void bfs(string s,int i,int flag)
{
if(i>=(int)s.length()) return ;
if(flag==)
{
if(s[i]=='Q')
{
bfs(s,i+,flag+);
}
else bfs(s,i+,flag);
}
if(flag==)
{
if(s[i]=='A')
{
bfs(s,i+,flag+);
}
bfs(s,i+,flag);
}
if(flag==)
{
if(s[i]=='Q')
{
count++;
}
bfs(s,i+,flag);
}
}
int main()
{
string s;
cin>>s;
for(int i=;i<s.length()-;i++)
bfs(s,i,);
cout<<count<<endl;
}
相比两个方法 第一个少了回溯次;
B题:

#include <iostream>
using namespace std;
#define N 'W'+ 'W' + '#'
#define FOR(i,l,r) for(int i = l;i < r;i++)
char a[][];
int judge()
{
if(a[][] + a[][] + a[][] == N || a[][] + a[][] + a[][] == N)return ;
FOR(i,,)
if(a[i][]+a[i][]+a[i][]==N || a[][i]+a[][i]+a[][i] == N)return ;
return ;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int flag = ;
FOR(i,,)scanf("%s",a[i]);
if(!judge())
{
FOR(i,,)FOR(j,,)
if(a[i][j] == 'W')
{
a[i][j]='#';
if(judge())flag = ;
a[i][j]='W';
}
flag?puts("Emmm"):puts("Alice");
}
else puts("Bob");
}
return ;
}
代码精炼。正常要写100+;
牛客 19-5-3 QAQ的更多相关文章
- 算法题 19 二叉平衡树检查 牛客网 CC150
算法题 19 二叉平衡树检查 牛客网 CC150 实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1. 给定指向树根结点的指针TreeNode* ro ...
- 牛客小白月赛19 E 「火」烈火燎原 (思维,树)
牛客小白月赛19 E 「火」烈火燎原 (思维,树) 链接:https://ac.nowcoder.com/acm/contest/2272/E来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空 ...
- 【面试笔试算法】牛客网一站通Offer编程题2016.4.19
牛客网一站通offer (一)字符串变形 1. 题目: 对于一个给定的字符串,我们需要在线性(也就是O(n))的时间里对它做一些变形.首先这个字符串中包含着一些空格,就像"Hello Wor ...
- 牛客~~wannafly挑战赛19~A 队列
链接:https://www.nowcoder.com/acm/contest/131/A来源:牛客网 题目描述 ZZT 创造了一个队列 Q.这个队列包含了 N 个元素,队列中的第 i 个元素用 Qi ...
- 牛客网挑战赛19 B,C,F
链接:https://www.nowcoder.com/acm/contest/131/B来源:牛客网 矩阵 M 包含 R 行 C 列,第 i 行第 j 列的值为 Mi,j. 请寻找一个子矩阵,使得这 ...
- 牛客网 --java问答题
http://www.nowcoder.com/ 主要是自己什么都不怎么会.在这里可以学习很多的! 第一天看题自己回答,第二天看牛客网的答案! 1 什么是Java虚拟机?为什么Java被称作是“平台无 ...
- 牛客小白月赛13 小A的回文串(Manacher)
链接:https://ac.nowcoder.com/acm/contest/549/B来源:牛客网 题目描述 小A非常喜欢回文串,当然我们都知道回文串这种情况是非常特殊的.所以小A只想知道给定的一个 ...
- 牛客小白月赛13 小A的最短路(lca+RMQ)
链接:https://ac.nowcoder.com/acm/contest/549/F来源:牛客网 题目描述 小A这次来到一个景区去旅游,景区里面有N个景点,景点之间有N-1条路径.小A从当前的一个 ...
- 牛客练习赛43 Tachibana Kanade Loves Game (简单容斥)
链接:https://ac.nowcoder.com/acm/contest/548/F来源:牛客网 题目描述 立华奏是一个天天打比赛的萌新. 省选将至,萌新立华奏深知自己没有希望进入省队,因此开始颓 ...
- 牛客练习赛31 D 神器大师泰兹瑞与威穆 STL,模拟 A
牛客练习赛31 D 神器大师泰兹瑞与威穆 https://ac.nowcoder.com/acm/contest/218/D 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 26214 ...
随机推荐
- sql server len函数
len函数 --返回字符表达式中的字符数 --如果字符串中包含前导空格和尾随空格,则函数将它们包含在内 --LEN对相同的单字节和双字节字符串返回相同的值 --示例:select LEN('no'), ...
- js之运算符(算术运算符)
Javascript中的运算符大多是由标点符号少数由关键字表示.可以根据其操作数的个数进行分类.大多数运算符是一个二元运算符,将两个表达式合成一个比较复杂的表达式.还有需要注意的一点是运算符的优先级, ...
- redis加入systemctl服务
来自:https://blog.csdn.net/weixin_41114593/article/details/82383716 第一步 安装redis去官网下载最新的redis版本 安装官网 ...
- Nginx做代理路由时,不转发http的header问题
从header里面拿不到 TX_XID这种类型的字段, Nginx 会默认忽略含有 “_” 的 header 参数,而 TX_XID值的参数名恰好含有 “_” 符号,需要手动开启转发. 在 nginx ...
- LVM使用手册简化命令
创建 hot_add --查看新增的lun pvcreate /dev/sdb --创建物理卷 pvcreate /dev/sdc --创建物理卷 pvcreate /dev/sdd ...
- 无Xwindow的linux系统安装VMware Tools
首先登陆linux 系统,最好是root用户: 然后挂载cdrom: mkdir -p /mnt/cdrom mount -t iso9660 /dev/cdrom /mnt/cdrom 进入cdro ...
- vs2017的主题颜色的配置
相信很多小伙伴开发的时候很怀念sublime的主题,我也特别的喜欢其中的mono主题,所以闲来无事在vs上调了一下色感觉好看多了.(其实也可以下载主题然后用“导入导出设置但是颜色有点奇葩,还是越简单越 ...
- mybaites 入门到精通
这个mybatis教程也不错:http://limingnihao.iteye.com/blog/781671 MyBatis 目录(?)[-] mybatis实战教程mybatis in actio ...
- Cocos Creator 热更新文件MD5计算和需要注意的问题
Creator的热更新使用jsb.热更新基本按照 http://docs.cocos.com/creator/manual/zh/advanced-topics/hot-update.html?h=% ...
- 浙大数据结构课后习题 练习一 7-1 Maximum Subsequence Sum (25 分)
Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to ...