Codeforces Round #277.5 (Div. 2)-D「建议收藏」

Codeforces Round #277.5 (Div. 2)-D

大家好,又见面了,我是全栈君。

题意:求该死的菱形数目。直接枚举两端的点。平均意义每一个点连接20条边,用邻接表暴力计算中间节点数目,那么中间节点任选两个与两端可组成的菱形数目有r*(r-1)/2.

代码:

#include<iostream>
#include<cstdio>
#include<cmath>
#include<map>
#include<cstring>
#include<algorithm>
#define rep(i,a,b) for(int i=(a);i<(b);i++)
#define rev(i,a,b) for(int i=(a);i>=(b);i--)
#define clr(a,x) memset(a,x,sizeof a)
typedef long long LL;
using namespace std;

const int mod=1e9 +7;
const int maxn=3005;
const int maxm=30005;

int first[maxn],nex[maxm],v[maxm],ecnt,g[maxn][maxn];

void add_(int a,int b)
{
    v[ecnt]=b;
    nex[ecnt]=first[a];
    first[a]=ecnt++;
}
int main()
{
    int n,m,x,y;
    while(~scanf("%d%d",&n,&m))
    {
        memset(first,-1,sizeof first);ecnt=0;
        memset(g,0,sizeof g);
        for(int i=0;i<m;i++)
            scanf("%d%d",&x,&y),add_(x,y),g[x][y]=1;
        int ans=0;
        for(int i=1;i<=n;i++)
        {
           for(int j=1;j<=n;j++)
           if(i!=j){
               int r=0;
               for(int e=first[i];~e;e=nex[e])
               if(g[v[e]][j])r++;
               ans+=r*(r-1)/2;
           }
        }
        printf("%d\n",ans);
    }
    return 0;
}

D. Unbearable Controversy of Being
time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

Tomash keeps wandering off and getting lost while he is walking along the streets of Berland. It’s no surprise! In his home town, for any pair of intersections there is exactly one way to walk from one intersection to the other one. The capital of Berland is very different!

Tomash has noticed that even simple cases of ambiguity confuse him. So, when he sees a group of four distinct intersections abc and d, such that there are two paths from a to c — one through b and the other one through d, he calls the group a “damn rhombus”. Note that pairs (a, b)(b, c)(a, d)(d, c) should be directly connected by the roads. Schematically, a damn rhombus is shown on the figure below:


Codeforces Round #277.5 (Div. 2)-D「建议收藏」

Other roads between any of the intersections don’t make the rhombus any more appealing to Tomash, so the four intersections remain a “damn rhombus” for him.

Given that the capital of Berland has n intersections and m roads and all roads are unidirectional and are known in advance, find the number of “damn rhombi” in the city.

When rhombi are compared, the order of intersections b and d doesn’t matter.

Input

The first line of the input contains a pair of integers nm (1 ≤ n ≤ 3000, 0 ≤ m ≤ 30000) — the number of intersections and roads, respectively. Next m lines list the roads, one per line. Each of the roads is given by a pair of integers ai, bi (1 ≤ ai, bi ≤ n;ai ≠ bi) — the number of the intersection it goes out from and the number of the intersection it leads to. Between a pair of intersections there is at most one road in each of the two directions.

It is not guaranteed that you can get from any intersection to any other one.

Output

Print the required number of “damn rhombi”.

Sample test(s)
input
5 4
1 2
2 3
1 4
4 3

output
1

input
4 12
1 2
1 3
1 4
2 1
2 3
2 4
3 1
3 2
3 4
4 1
4 2
4 3

output
12

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115961.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 两地三中心是什么意思「建议收藏」

    两地三中心是什么意思「建议收藏」两地三中心随着IT应用的快速发展,金融,银行,政府等越来越多的用户要求核心业务7*24不断网,不断电持续运行,进而出现了两地三中心的方案,是一些大型企业因为大自然的灾害而在同城选择两个机房异地选择一个机房而组成的称两地三中心,这样的方案具备高可用和灾难备份能力。同城双机房指的是在同一个城市或相邻的城市建立两个相同的系统,双中心具备等同的业务处理能力并通过高速链路实时数据同步,日常情况下可同时分…

    2022年6月16日
    52
  • linux网络重启失败「建议收藏」

    linux网络重启失败「建议收藏」问题:网络重启失败如下:[root@localhost~]#systemctlrestartnetworkJobfornetwork.servicefailedbecausethecontrolprocessexitedwitherrorcode.See”systemctlstatusnetwork.service”and”journalctl…

    2022年10月21日
    0
  • csdn如何转载博客_Csdn博客

    csdn如何转载博客_Csdn博客后续的文章将自动同步到csdn

    2022年7月31日
    4
  • P2P终结者和反P2P终结者如何使用「建议收藏」

    P2P终结者和反P2P终结者如何使用「建议收藏」1安装软件并运行,首先扫描网络,第一台控制机就是自己,你可以查看IP,和命令提示符下的IP吻合.2点击高级选项,指定本机网络环境和网卡3控制规则设置,首先设置全局限速模板,其他的差不多.4

    2022年7月3日
    28
  • app自动化测试之weditor

    app自动化测试之weditorweditor功能还是比较强大的,可以自动生成代码,是基于uiautomator2之上1,确定手机和电脑连接wifi连接或者数据线连接2,启动weditor:在cmd中输入命令:python-mweditor3,效果:4,上边的网页打开,选择Andriod,输入设备(通过adbdevices命令得到的),大户Connect按钮。5,当操作完后,点击“…

    2022年10月27日
    0
  • 3分钟学习下射频放大器基础知识

    其实很多筒子都想看放大器相关的东西,射频君一直很头疼这个题目。毕竟是比较复杂的器件,其实写起来也是很困难的。今天就来跟大家唠唠放大器相关的基础知识,抛砖引玉哈。射频放大器,根本上是我们射频系统中的正反馈系统,一般位于发射链路上。由于考虑无线传输的链路衰减,发射端需要辐射足够大的功率才能获得比较远的通信距离。因此,射频放大器主要负责将功率放大到足够大后馈送到天线上辐射出去,是通信系统中的核心器件…

    2022年4月6日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号