首页 > 代码库 > hdu 6016 Count the Sheep
hdu 6016 Count the Sheep
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 340 2 2 441 1 142 1 243 2 144 2 245 3 1 346 1 147 2 148 3 149 3 3 350 1 151 2 152 2 253 54 */
hdu 6016 Count the Sheep
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。