題解:CF1957A Stickogon

All_Unluck_Beginning發表於2024-04-29

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;
}