Unbearable Controversy of Being
2015-12-20 13:09
253 查看
#include<bits/stdc++.h> #include<vector> using namespace std; int G[3005][3005]; vector<int> link[3005]; int n,m,a,b,ans; int main() { cin>>n>>m; for(int i=0;i<m;i++){ cin>>a>>b; G[a][b]=1; link[a].push_back(b); } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(i==j) continue; int sum=0; for(int k=0;k<link[i].size();k++){ if(G[link[i][k]][j]) sum++; } ans+=sum*(sum-1)/2; } } cout<<ans<<endl; return 0; }
需要讲的是运用了vector里的push_back,动态保存大小。方便去遍历。然后解题思想就是,两个点中间有几条过一个点的连通路线,那么就有sun*(sum-1)/2个菱形。考验思维和数据结构,结构建的好,代码量急剧减少
相关文章推荐
- 编译caffe中的base_data_layer.cpp错误
- 基本网路概念学习
- 浅谈代码的执行效率(4):汇编优化
- Object-C: 枚举
- 断舍离的三十天
- 浅谈代码的执行效率(3):缓存与局部性
- android 用闹钟定时做http请求推送解决方案
- 使用maven工具对maven项目进行打包所出现的问题
- cocos2dx SpriteBatchNode 精灵的渲染优化类
- linux 下jdk安装
- 【zabbix系列】报警系统的设置和排除
- C#_FileStream读取文本文件和二进制文件
- 浅谈代码的执行效率(2):编译器的威力
- Wine 1.8 发布
- 60s 经济学探奇
- Java方法重载
- google的Google Brillo和 apple的homeKit, Arm embedded os
- 浅谈代码的执行效率(1):算法是关键
- 《JAVA》中利用《动态规划》实现《最小公共子序列》
- LeetCode - Merge k Sorted Lists