洛谷 P1684 考验

题目传送门

解题思路:

一道贪心题,我们发现给的四个韵脚都有一个特点,就是两个A,两个B,那我们就从头开始,每遇到有两个字母各出现两次,答案加一,所有计数清空.

AC代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<map>
 4 
 5 using namespace std;
 6 
 7 int n,num,ans; 
 8 map<int,bool> vis;
 9 
10 int main() {
11     scanf("%d",&n);
12     for(int i = 1;i <= n; i++) {
13         int o;
14         scanf("%d",&o);
15         if(!vis.count(o) || vis[o] == 0)
16             vis[o] = 1;
17         else if(vis[o] == 1)
18             num++,vis[o] = 0;
19         if(num == 2) {
20             ans++,num = 0;
21             vis.clear();
22         }
23     }
24     printf("%d",ans);
25     return 0;
26 }
原文地址:https://www.cnblogs.com/lipeiyi520/p/12386714.html