码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 6016 Count the Sheep

时间:2017-06-22 23:48:13      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:bestcode   clu   set   tin   deb   main   err   nbsp   using   

BestCoder Round #92 B题

(今天突然想起来这道题在做的时候卡了cin 而且似乎也有爆int的坑 就拿出来记录一下

((这道题能用来测试输入输出外挂的性能

中文题意不解释

比赛的时候好多人是爆搜的四层

不过还是有更优雅的做法

那就是把每只羊的link数记录下来

然后根据每次数羊的时候的顺序

母羊A 公羊B 母羊C 公羊D

按照这样处理 然后把最后的ans*2就可以了~

 

 1 #include<bits/stdc++.h>
 2 #define cl(a,b) memset(a,b,sizeof(a))
 3 #define debug(x) cerr<<#x<<"=="<<(x)<<endl
 4 using namespace std;
 5 typedef long long ll;
 6 typedef pair<int,int> pii;
 7 
 8 int main()
 9 {
10     int T;
11     scanf("%d",&T);
12     while(T--)
13     {
14         int n,m,k;
15         scanf("%d%d%d",&n,&m,&k);
16         vector<int>a(n+1,0),b(m+1,0);
17         vector<pii>link;
18         for(int i=0;i<k;i++)
19         {
20             int x,y;
21             scanf("%d%d",&x,&y);
22             a[x]++,b[y]++;
23             link.push_back({x,y});
24         }
25         ll ans=0;
26         for(auto i:link)
27         {
28             ll tmp=1ll*(a[i.first]-1)*(b[i.second]-1);
29             //防止出现负数的判断
30             if(tmp<0) continue;
31             ans+=tmp;
32         }
33         printf("%lld\n",ans*2);
34     }
35     return 0;
36 }
37 /*
38 
39 3
40 2 2 4
41 1 1
42 1 2
43 2 1
44 2 2
45 3 1 3
46 1 1
47 2 1
48 3 1
49 3 3 3
50 1 1
51 2 1
52 2 2
53 
54 */

 

hdu 6016 Count the Sheep

标签:bestcode   clu   set   tin   deb   main   err   nbsp   using   

原文地址:http://www.cnblogs.com/general10/p/7067595.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!