HDU 4666 Hyperspace(曼哈顿距离)
2013-08-14 10:27
381 查看
题目链接
这是HDU第400个题。
这是HDU第400个题。
#include <cstdio> #include <cstring> #include <set> #include <iostream> using namespace std; int p[30],qur[60001][6]; int main() { int i,j,k,n,m,num; while(scanf("%d%d",&n,&m)!=EOF) { multiset<int> se[40]; multiset<int>::iterator it; for(k = 1; k <= n; k ++) { scanf("%d",&num); if(num == 0) { for(i = 0; i < m; i ++) { scanf("%d",&p[i]); qur[k][i] = p[i]; } for(i = 0; i < 1<<m; i ++) { int temp = 0; for(j = 0; j < m; j ++) { if(i&(1<<j)) temp += p[j]; else temp -= p[j]; } se[i].insert(temp); } } else { scanf("%d",&num); for(i = 0; i < 1<<m; i ++) { int temp = 0; for(j = 0; j < m; j ++) { if(i&(1<<j)) temp += qur[num][j]; else temp -= qur[num][j]; } it = se[i].find(temp); se[i].erase(it); } } int maxz = 0; for(i = 0; i < 1<<m; i ++) { j = (~i)&((1<<m)-1); int t1,t2; it = se[i].end(); it --; t1 = (*it); it = se[j].end(); it --; t2 = (*it); if(maxz < t1 + t2) maxz = t1 + t2; } printf("%d\n",maxz); } } return 0; }
相关文章推荐
- 最远曼哈顿距离小结 poj 2926 Requirements&hdu 4666 Hyperspace
- [HDU 4666]Hyperspace[最远曼哈顿距离][STL]
- HDU-4666 Hyperspace 曼哈顿距离
- 最远曼哈顿距离小结 poj 2926 Requirements&hdu 4666 Hyperspace
- Hdu-4666 Hyperspace(曼哈顿距离)
- hdu 4666:Hyperspace(最远曼哈顿距离 + STL使用)
- HDU 4666 Hyperspace (2013多校7 1001题 最远曼哈顿距离)
- HDU 4666 Hyperspace(最长曼哈顿距离)
- 2013 多校第七场 hdu 4666 Hyperspace(最远曼哈顿距离)
- [HDU 4666]Hyperspace[最远曼哈顿距离][STL]
- [HDU 4666]Hyperspace[最远曼哈顿距离][STL]
- hdu 4666 Hyperspace(多维度最远曼哈顿距离)
- hdu-4666-Hyperspace-最长曼哈顿距离
- hdoj 4666 Hyperspace 【最远曼哈顿距离】
- HDU 4666 最远曼哈顿距离
- hdu 4666 (经典求曼哈顿距离 + multiset容器)
- HDU 4666 STL求多维最远曼哈顿距离
- HDU 4666 经典的求最远曼哈顿距离
- HDU 4666 Hyperspace(STL set 最近哈密顿距离)
- hdu-4666 Hyperspace