Đăng nhập để hỏi chi tiết


Mình nghĩ là mình cần giải đáp. Giải thích chi tiết dùm mình ạ. Cảm ơn ạa
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <bits/stdc++.h>
using namespace std;
#define Int long long
const int maxn = 1e5;
Int n, a[maxn + 5];
Int ans = 0;
map<Int, Int> cnt;
signed main() {
freopen("cequitri.inp", "r", stdin);
freopen("cequitri.out", "w", stdout);
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
cin >> n;
for (int i = 1; i <= n; ++i) {
cin >> a[i];
cnt[a[i]]++;
}
for (auto c: cnt) {
Int p = c.second;
if (p >= 3) {
ans += p * (p - 1) * (p - 2) / 6;
}
}
cout << ans;
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
tham khảo
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen("CEQUITRI.INP","r",stdin); //đọc dữ liệu từ file
freopen("CEQUITRI.OUT","w",stdout); //ghi kết quả ra file
long n; //khai báo n
cin>>n; //nhập n
long a[n]; //khai báo mảng
for(int i=0;i<n;i++) cin>>a[i]; //nhập mảng
int d=0; //khai báo biến để đếm tam giác
for(int i=0;i<n-2;i++) //chọn thanh gỗ 1
for(int j=i+1;j<n-1;j++) //chọn thanh gỗ 2
for(int k=j+1;k<n;k++) //chọn thanh gỗ 3
if(a[i]==a[j] && a[j]==a[k]) d++; //nếu cả 3 thanh = nhau thì tăng biến đếm lên 1 đơn vị
cout<<d; //in kết quả
return 0;
}Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin