牛客 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 ...
随机推荐
- oa_mvc_easyui_删除(6)
1.删除列,添加a标签,绑定参数 <a href="javascript:void(0)" class="delete" ids="@newli ...
- python:split()函数
描述 Python 内置函数 指定分隔符对字符串进行切片 如果参数 num 有指定值,则仅分隔 num 个子字符串 返回分割后的字符串列表. 语法 str.split(str="" ...
- 上海的Costco,谈谈你的理解和感受
众所周知,Costco在上海第一天开业,由于人流量过大,一度暂停营业.我觉得Costco的成功在于不走寻常路,换位思考(站在用户.厂商角度看问题),下面几点是我觉得它做得比较独特的地方: 1. Cos ...
- LLVM 安装教程(包安装)
LLVM 安装教程 环境:ubuntu16.04 llvm-4.0 clang-4.0 步骤: 1.依赖库安装 $ sudo apt-get install build-essential curl ...
- 查看Linux服务器硬件信息
一:查看cpu# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpui ...
- shell 实用脚本2
脚本功能 拷贝文件夹 及 子文件夹内文件 到 对应的 文件结构下 ,且拷贝前先进行备份 #!/bin/sh #create by lizr -- #脚本功能 #覆盖文件前先备份 cfsuffix=$ ...
- maven中配置jboss仓库
有两种方式,一种是在项目的pom.xml中<repositories>中添加,这是配置是针对具体的某一个项目,更多时候,我们想把jboss仓库作为所有项目的仓库,这就需要在maven的se ...
- 关于Win Re的故事
闲来无事,拿出来自己的小破笔记本瞎折腾,突然发现桌面上竟然还残留着上一个公司的内部vpn, 我是一个有着轻微洁癖强迫症的人,留着这么一个东西占据我本来就不是很大的固态硬盘,简直是罪过.于是我头脑一热, ...
- 第一次把本地项目与git相连
原文:https://blog.csdn.net/a987625922/article/details/82189863 新建远程仓库(github或者gitee) 将本地仓库转换成版本库,并将文件添 ...
- npm上发布vue插件
1.初始化项目 vue init webpack-simple XXXXX(此处为插件名) 使用vue创建一个简单的项目,删除src中除了main.js和app.vue外的文件,清空app.vue中无 ...