zrx5BA's blog

By zrx5BA, history, 11 days ago, In English

CF1957A Stickogon

题意

题意十分简单,给予你 $$$n$$$ 个棍子,问这些棍子可以构成多少个正多边形。

思路

说是可以构成多少个正多边形,所以我们可以用边最少的正多边形等边三角形来计数。

在输入 $$$a$$$ 的时候,用一个数组 $$$f$$$ 来计算 $$$a$$$ 出现的次数,当 $$$f_{a}$$$ 等于 $$$3$$$ 时,答案加 $$$1$$$,$$$f_{a}$$$ 记为 $0$。

代码

#include<bits/stdc++.h>
using namespace std;
int t,n,a,f[105];
int main(){
	cin>>t;
	while(t--){
		cin>>n;
		int ans=0;
		memset(f,0,sizeof(f));//别忘了初始化 
		for(int i=1;i<=n;i++){
			cin>>a;
			f[a]++;
			if(f[a]==3)ans++,f[a]=0;
		}
		cout<<ans<<"\n";
	}
	return 0;
}
  • Vote: I like it
  • -9
  • Vote: I do not like it