CF51E.Pentagon
提高+/省选-
通过率:0%
时间限制:10.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
According to the last order issued by the president of Berland every city of the country must have its own Ministry Defense building (their own Pentagon). A megapolis Berbourg was not an exception. This city has n junctions, some pairs of which are connected by two-way roads. Overall there are m roads in the city, no more than one between each pair of junctions.
At the moment choosing a location place for Pentagon in Berbourg is being discussed. It has been decided that Pentagon should cover the territory of five different junctions which are joined into a cycle by roads. In the order to build Pentagon a special wall will be built along the roads (with high-tension razor, high-voltage wire and other attributes). Thus, the number of possible ways of building Pentagon in the city is equal to the number of different cycles at lengths of 5, composed of junctions and roads.
Your task is to prints the number of ways of building Pentagon in Berbourg. Only well-optimized solutions will be accepted. Please, test your code on the maximal testcase.
根据贝尔兰总统发布的最新命令,该国每座城市都必须拥有一座自己的国防部大楼(即各自的“五角大楼”)。大都市贝尔堡也不例外。该城市共有 n 个路口,其中某些路口对之间由双向道路连接。整座城市共有 m 条道路,且任意两个路口之间至多只有一条道路。
目前,贝尔堡正在讨论为五角大楼选址的问题。已决定:五角大楼应覆盖五个不同路口所组成的环形区域,且这五个路口需通过道路首尾相连构成一个环。为建造五角大楼,将在这些道路上修建一道特殊围墙(配备高压剃刀铁丝网、高压电线及其他安防设施)。因此,贝尔堡中建造五角大楼的可能方案数,就等于由路口与道路构成的长度为 5 的不同环的数量。
你的任务是输出贝尔堡中建造五角大楼的方案总数。只有经过充分优化的解法才会被接受。请务必在最大规模的测试用例上测试你的代码。
输入格式
The first line contains two integers n and m (1 ≤ n ≤ 700;0 ≤ m ≤ n·(n - 1) / 2), where n represents the number of junctions and m is the number of roads in the city. Then follow m lines containing the road descriptions, one in each line. Every road is set by a number of integers a__i, b__i (1 ≤ a__i, b__i ≤ n;a__i ≠ b__i), where a__i and b__i represent the numbers of junctions, connected by the road. The junctions are numbered from 1 to n. It is not guaranteed that from any junction one can get to any other one moving along the roads.
第一行包含两个整数 n 和 m(1≤n≤700;0≤m≤n⋅(n−1)/2),其中 n 表示路口的数量,m 表示城市中道路的数量。接下来是 m 行,每行描述一条道路。每条道路由两个整数 ai, bi(1≤ai, bi≤n;ai=bi)表示,其中 ai 和 bi 是该道路所连接的两个路口的编号。路口编号从 1 到 n。不能保证从任意一个路口出发,都可以沿着道路到达其他任意一个路口。
输出格式
Print the single number which represents the required number of ways. Please, do not use %lld specificator to read or write 64-bit integers in C++. It is preffered to use cout (also you may use %I64d).
输出表示所需方案数的唯一数字。请注意,在 C++ 中读取或写入 64 位整数时,请勿使用 %lld 格式说明符;推荐使用 cout(您也可以使用 %I64d)。
输入输出样例
输入#1
5 5 1 2 2 3 3 4 4 5 5 1
输出#1
1
输入#2
5 10 1 2 1 3 1 4 1 5 2 3 2 4 2 5 3 4 3 5 4 5
输出#2
12
输入解题思路,AI测评打分。不知道怎么写?