fork download
  1. #include <iostream>
  2. using namespace std;
  3. typedef long long ll;
  4. const ll INF = 3e2+5;
  5. ll arr[INF][INF];
  6. void power(ll n){
  7. ll arr1[n][n];
  8. for(int i = 0 ; i < n ; i++){
  9. for(int j = 0 ; j < n; j++){
  10. arr1[i][j]=0;
  11. for(int k = 0 ; k < n ; k ++){
  12. arr1[i][j]+=arr[i][k]* arr[k][j];
  13. }
  14.  
  15. }
  16. }
  17. for(int i = 0 ; i < n ; i++){
  18. for(int j = 0 ; j < n; j++){
  19. arr[i][j]=arr1[i][j];
  20. }
  21. }
  22. }
  23. int main() {
  24. ios_base::sync_with_stdio(0);
  25. cin.tie(0);
  26. int n,m ;
  27. cin>>n>>m;
  28. ll a,b;
  29. for(int i = 0 ; i < m ; i++){
  30. cin>>a>>b;
  31. a--;
  32. b--;
  33. if(a!=b){
  34. arr[a][b]++;
  35. arr[b][a]++;
  36. }
  37. }
  38. power(n);
  39. ll to_del[n];
  40. for(int i = 0 ; i < n; i++){
  41. to_del[i]=0;
  42. for(int j = 0 ; j < n; j++){
  43. if(i==j){
  44. arr[i][i] = 0;
  45. }else{
  46. to_del[i]+=arr[i][j];
  47. }
  48. }
  49. }
  50. power(n);
  51. ll answer =0;
  52. for(int i = 0 ; i < n ; i++){
  53. answer +=arr[i][i]-to_del[i];
  54. }
  55. cout<<answer/8;
  56. return 0;
  57. }
Success #stdin #stdout 0s 15960KB
stdin
5 7
1 3
1 4
2 4
2 5
3 4
3 5
4 5
stdout
2