7 条题解
-
2
那只能我来了
#include <bits/stdc++.h> using namespace std; long long x, cnt, a[10]; int main() { x = getchar(); while (('A' <= x) and (x <= 'Z')) { if (x == 'O') cnt += a[3]; if (x == 'H') a[0]++; if (x == 'A') a[3] += a[2]; if (x == 'T') a[2] += a[1]; if (x == 'E') a[1] += a[0]; x = getchar(); } cout << cnt; return 0; }
-
-3
环环相扣
这题乍一看好像不简单,但其实想通了就不难。 如:
- 题目要求的是HETAO的个数,而我们可以把它拆分成几步。
- 统计H个数。
- 统计HE个数。
- 统计HET个数。
- 统计HETA个数。
- 最后再统计HETAO个数。
第二步
第一步是简单,但是第二步怎么办呢?
- 当我们遇到一个字符‘E’时,它能组成‘HE’的个数取决于‘H’的个数。
- 如HHHE中遇到E时,前面有3个H,所以可以组成3个HE。
- 这样,我们就成功统计出了HE的个数。
- 如HHHEEE,遇到第一个E时,前面有3个H,所以HE的个数+3,后面两个也一样。
第三步
- 同样,当我们遇到T时,能组成HET的个数取决于前面HE的个数,前面有几个HE,那就能组成几个HET。
- 如HHEETT,有4个HE,那么HET个数+4,有两个T,那就加两次4,所以HET个数有8个。
四五步
- 也是一样,遇到A时能组成HETA个数取决于前面HET个数,遇到O时,组成HETAO个数取决于HETA个数。
- 这样,我们就成功统计出了HETAO个数。
AC代码
#include <bits/stdc++.h> using namespace std; int a[6];//分别统计H,HE.HET,HETAO个数 int main() { string n; cin>>n;//输入字符串 long long sum=n.length(),num=0;//num用于储存HETAO个数。 for (int i=0;i<=sum-1;i++) {//遍历字符串。 if (n[i]=='H') a[1]++; //如果有H,H个数+1。 else if (n[i]=='E') a[2]+=a[1]; //如果有E,HE个数+=H个数。 else if (n[i]=='T') a[3]+=a[2]; //如果有T,HET个数+=HE个数。 else if (n[i]=='A') a[4]+=a[3]; //如果有A,HETA个数+=HET个数。 else if (n[i]=='O') num+=a[4]; //如果有O,HETAO个数+=HETA个数。 } cout<<num;//输出HETAO个数。 return 0; }
-
-5
写题解请注意
不鼓励大家写题解,但注意题解格式。
题解一定不要有思路解析或代码注释,不让别人理解你的思路
也不是你的能力的检验,要只放无意义的代码给大家复制,那就是做题的初心。
给代码两端加上这个并不会舒服一些:
```cpp
你的代码
```
</span>
这个点在键盘的左上角tab上面那个键,注意切换输入法
#include<iostream> using namespace std; int main() { int n; cin>>n;//这是一个注释 return 0; }
请注意严禁抄袭题解,写题解要只放代码,不需加上你的思路或代码注释。
抄袭题解一经发现直接取消成绩。
题解被删除的可能
- 代码符合格式规范
- 有思路讲解或者没有注释,
- 有意义的题解
大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。
-
-9
写题解请注意 鼓励大家写题解,但注意题解格式。
题解一定要有思路解析或代码注释,能否让别人理解你的思路
也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。
给代码两端加上这个会舒服一些
```cpp
你的代码
```
</span>
这个点在键盘的左上角tab上面那个键,注意切换输入法
#include<iostream> using namespace std; int main() { int n; cin>>n;//这是一个注释 return 0; }
请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。
抄袭题解一经发现直接取消成绩。
题解被删除的可能
- 代码不符合格式规范
- 没有思路讲解或者没有注释,
- 无意义的题解
大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。
- 1
信息
- ID
- 1251
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 165
- 已通过
- 77
- 上传者