栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 3674 Super Assassin

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 3674 Super Assassin

#include <stdio.h>#include <string.h>#include <iostream>#include <map>#include <vector>#include <algorithm>#include <string>using namespace std;int d[12][310],c[12],num[12],vis[12],v[12];int ma,ml;struct node { int p,e;};node ski[12];int cmp2(node a,node b){ return a.e>b.e;}int dfs(int p){ int i; if(p>ml) {  int tmp,tmpp,nexte;  for(i=1;i<=ml-1;i++) ski[i].p=i , ski[i].e=c[i];  sort(ski+1,ski+ml,cmp2);  memset(vis,0,sizeof(vis));  for(i=1;i<=ml-1;i++)  {   tmpp=ski[i].p;   nexte=c[tmpp+1];   num[tmpp+1]=d[nexte][ ++vis[nexte] ];  }  num[1]=d[ c[1] ][ ++vis[c[1]] ];  tmp=0;  for(i=1;i<=ml;i++)   tmp=tmp+num[i]/10*(10+c[i-1]);  if(tmp>ma) ma=tmp;  return 0; } for(i=0;i<=10;i++) {  if(v[i])  {   c[p]=i;   v[i]--;   dfs(p+1);   v[i]++;  } } return 0;}int cmp(int a,int b){ return a>b;}int main(){ int n,i,a,b; while(scanf("%d",&n)!=EOF) {  memset(d,0,sizeof(d));  memset(v,0,sizeof(v));  memset(c,0,sizeof(c));  for(i=1;i<=n;i++)  {   scanf("%d%d",&a,&b);   d[b][ ++d[b][0] ]=a;  }  for(i=0;i<=10;i++)   if(d[i][0]) sort(d[i]+1,d[i]+1+d[i][0],cmp);  for(i=0;i<=10;i++) v[i]=d[i][0];  if(n<=6) ml=n;  else ml=6;  ma=0;  dfs(1);  printf("%dn",ma); }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/369208.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号