hdu 5486 Difference of Clustering
2015-09-28 21:47
357 查看
#include <iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cstring> #include<vector> #include<map> using namespace std; const int mx=1000000+1000; typedef long long ll; int T,n,deg[mx*2]; map<int,int> mp1,mp2; vector<int> g[mx*2]; void init() { mp1.clear(); mp2.clear(); for(int i=0;i<=n*2+1000;i++) g[i].clear(); } int main() { cin>>T;int kase=0; while(T--) { cin>>n; int nk=0,ok=0,od,nw; init(); for(int i=0;i<n;i++) { scanf("%d%d",&od,&nw); if(mp1.count(od)==0) mp1[od]=ok++; if(mp2.count(nw)==0) mp2[nw]=nk++; od=mp1[od];nw=mp2[nw]+n+100; g[od].push_back(nw); g[nw].push_back(od); } for(int i=0;i<ok;i++) { sort(g[i].begin(),g[i].end()); g[i].erase( unique(g[i].begin(), g[i].end() ), g[i].end() ) ; } for(int ii=0;ii<nk;ii++) { int i=ii+n+100; sort(g[i].begin(),g[i].end()); g[i].erase( unique(g[i].begin(), g[i].end() ), g[i].end() ) ; } int ans1=0,ans2=0,ans3=0; for(int i=0;i<ok;i++) { if(g[i].size()==1) { int v=g[i][0]; if(g[v].size()==1) ans3++; } else if(g[i].size()>1) { int cnt=0; for(int j=0;j<g[i].size();j++) { int v=g[i][j]; if(g[v].size()==1) continue; cnt++; } if(cnt==0) ans1++; } } for(int i=0;i<nk;i++) { int ii=i+n+100; if(g[ii].size()>1) { int cnt=0; for(int j=0;j<g[ii].size();j++) { int v=g[ii][j]; if(g[v].size()==1) continue; cnt++; } if(cnt==0) ans2++; } } printf("Case #%d: %d %d %d\n",++kase,ans1,ans2,ans3); } return 0; }
此题本是水题,不过题意有些深奥,我到现在都不是很明白,看了别人的博客自己写了一下。
首先是离散然后建一个图,用个STL里的unique'去掉重边,最后统计一下便OK。
比赛的时候读了半天题完全没有搞懂,一群人问admin,啥也不hui,好坑,就差这一题就可以晋级了......
相关文章推荐
- 【Java】【jquery】ajax垃圾问题
- 了解BootStrap
- CSS3基础总结
- jQuery中的Ajax
- 9.28 CSS3 弹性盒模型
- JS校验表单项
- CSS float浮动的深入研究、详解及拓展(一)
- jquery 实现页面加载完成后,自动执行
- caffe简单理解
- JavaScript匿名函数,动态函数,可变参数函数
- SharedPerference
- web前端,js实现div隐藏显示
- A Quarter-Car Vehicle Model Based Feature for Wheeled and Tracked Vehicle Classification
- A Seismic-Based Feature Extraction Algorithm for Robust Ground Target Classification
- jquery-validation 使用
- [RxJS + AngularJS] Sync Requests with RxJS and Angular
- JS浮点运算错误的解决
- 学写jquery插件
- css margin 参数
- html code